[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 01/20 10:09 / Filesize : 327 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

firefox userChrome.js greasemonkeyスクリプトスレ 3



1 名前:名無しさん@お腹いっぱい。 [2007/11/07(水) 00:39:11 ID:oCfttq850]
質問は必ずまとめサイトに目を通した後にして下さい。

■まとめサイト
firefoxまとめサイト
ttp://firefox.geckodev.org/
ttp://firefox.geckodev.org/index.php?cmd=read&page=Greasemonkey
ttp://firefox.geckodev.org/index.php?cmd=read&page=userChrome.js

■拡張機能
greasemonkey
ttp://www.greasespot.net/
userChrome.js
ttp://forums.mozillazine.org/viewtopic.php?t=397735&sid=4b6a2d2f1d22cf05c4bda988683c1f94
ttp://forums.mozillazine.org/viewtopic.php?t=556229

■関連スレ
Mozilla Firefox usercontent.css 広告カットスレ 1
ttp://pc9.2ch.net/test/read.cgi/software/1139710935/
Mozilla Firefox Part73
ttp://pc11.2ch.net/test/read.cgi/software/1194007773/
Mozilla Firefox質問スレッド(初心者歓迎)の52
ttp://pc11.2ch.net/test/read.cgi/software/1193829630/
Mozilla Firefox 拡張機能スレッド Part25
ttp://pc11.2ch.net/test/read.cgi/software/1191202956/

■前スレ
firefox userChrome.js greasemonkeyスクリプトスレ 2
ttp://pc11.2ch.net/test/read.cgi/software/1185343069/

152 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 22:28:05 ID:INIUcDJc0]
It's All Text 拡張の uc.js 版が無いかと思って、aliceさんのこれを見つけたんですが、

テキストエリアを外部エディタで編集する
ttp://space.geocities.yahoo.co.jp/gl/alice0775/view/20070223/1172156543

0.7用のスクリプトと書かれてあるとおり、0.8では動かないんですね・・・orz
これを、0.8に対応させることは可能でしょうか?

153 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 22:29:19 ID:hyZwijKg0]
>>152
そのまま0.8で動く

154 名前:初スレの80 mailto:sage [2007/11/16(金) 23:39:06 ID:RVK/oSY+0]
>>125
GM_modoki.jslのGM_xmlhttpRequestを以下に書き換えればうまくいくかも.
function GM_xmlhttpRequest(obj){
if(typeof(obj) != 'object' || (typeof(obj.url) != 'string' && !(obj.url instanceof String))) return;

var req = new XMLHttpRequest();
req.open(obj.method || 'GET',obj.url,true);
if(typeof(obj.headers) == 'object') for(var i in obj.headers) req.setRequestHeader(i,obj.headers[i]);
['onload','onerror','onreadystatechange'].forEach(function(k){
if(obj[k] && (typeof(obj[k]) == 'function' || obj[k] instanceof Function)) req[k] = function(){
obj[k]({
status : (req.readyState == 4) ? req.status : 0,
statusText : (req.readyState == 4) ? req.statusText : '',
responseHeaders : (req.readyState == 4) ? req.getAllResponseHeaders() : '',
responseText : req.responseText,
readyState : req.readyState });
};
});

if(obj.overrideMimeType) req.overrideMimeType(obj.overrideMimeType);
if(typeof obj.data == 'string') req.send(obj.data);
else req.send(null);
}

>>140
mousemoveイベントでマウスカーソルの位置を変数に入れておいて,
必要なときにそれを参照するのが簡単じゃないかな.
マウスカーソル下の単語はevent.rangeParentとevent.rangeOffsetから探っていけるけど,
keyconfigだとどうだろう?clickイベントでなら,それで拾えるんだけど.

155 名前:140 mailto:sage [2007/11/16(金) 23:50:06 ID:LwvcuW8S0]
>>147
www.faqts.com/knowledge_base/view.phtml/aid/33674
こういう方法でイベントでカーソル下の単語を知ることはできるようなので
これを応用してできないかと思ったのですが、
まだ勉強中で実現できるかどうかよくわかってないところがあります。
すみません。

156 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/17(土) 00:14:09 ID:LsQ6cAYz0]
コンパクトメニュー下にusercontent.jsとかusermenu.jsのメニューを追加するにはどうすればいいですか?
あと001-execMenuEditor.uc.jsってのを入れたんですけどUserMenu.jsとMenuEditorが共存できそうにありません。
MenuEditorを使ったメニュー項目の並び替えはできないのでしょうか?

157 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/17(土) 00:39:16 ID:av6mu2OE0]
火狐とboonstudio、もしくはnettransport等をflv形式ファイルDL時に連携させ、
動画のタイトル名で保存させられるようなスクリプトってないでしょうか?



158 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/17(土) 01:02:49 ID:LsQ6cAYz0]
>>154
そのコードだと以下のようなエラーに。
エラー: [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIXMLHttpRequest.status]"
nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "
JS frame :: file:///プロファイル/chrome/GM_modoki.jsl :: anonymous :: line 55" data: no]

ソースファイル: file:///プロファイル/chrome/GM_modoki.jsl
行: 55
エラーの内容は変わってない様子。

159 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/17(土) 13:13:13 ID:G+/jUdJB0]
ブックマークするときに説明を書くのですが、その説明をブックマーク一覧でマウスオーバーしたときに
ポップアップ表示するものはあるのでしょうか。
userChromeとgreasemonkeyどちらでも構いません、知っている方が居られましたら教えていただけませんか。

160 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/17(土) 14:18:02 ID:5yij81ED0]
>>159
つ ttp://space.geocities.yahoo.co.jp/gl/alice0775/view/20071023/1193066474



161 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/17(土) 14:35:20 ID:mn8eICOu0]
以前このスレで、Open Tabs Next(nanto_vi氏作)を常に右に開くようにする改造(15行目 mOffset++ → mOffset)を教わったんですが、昨日の3.0b2pre/nightlyから正常に動かなくなってしまいました。
(右に3つ開いた後左に開いていく)
これを直すにはどこを修正すれば良いのでしょうか?
また、他の"タブの右に開く系"でも常に右に開かせる改造は可能でしょうか?
よろしくお願いします。

162 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/17(土) 14:52:23 ID:5yij81ED0]
>>161
>また、他の"タブの右に開く系"でも...
と言うことですので, オールインワンでかつ(現状では)比較的trunkに対応の早い
Tab Mix Plusを使用することを選択肢に入れてはどうでしょうか。

163 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/17(土) 16:00:40 ID:mn8eICOu0]
>>162
ああ、Tab Mix Plusを忘れてた。入れたら問題なかった。
軽くなるかと思ってuserChrome.jsに切替えてたけどそんなに違わないし、また拡張に戻ってみます。

164 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/17(土) 16:21:38 ID:G+/jUdJB0]
>>160
ありがとうございます。
希望通りの物でした。

165 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/17(土) 16:24:41 ID:mFD1D03Q0]
>>146
ありがとうございます。

166 名前:初スレの80 mailto:sage [2007/11/17(土) 17:22:56 ID:2O/4iQWc0]
>>158
これで駄目だったらお手上げ.
function GM_xmlhttpRequest(obj){
if(typeof(obj) != 'object' || (typeof(obj.url) != 'string' && !(obj.url instanceof String))) return;

var req = new XMLHttpRequest();
req.open(obj.method || 'GET',obj.url,true);
if(typeof(obj.headers) == 'object') for(var i in obj.headers) req.setRequestHeader(i,obj.headers[i]);
['onload','onerror','onreadystatechange'].forEach(function(k){
if(obj[k] && (typeof(obj[k]) == 'function' || obj[k] instanceof Function)) req[k] = function(){
obj[k]({
status : (function(){ try{ return req.status; }catch(e){ return 0; } })(),
statusText : (function(){ try{ return req.statusText; }catch(e){ return ''; } })(),
responseHeaders : (function(){ try{ return req.getAllResponseHeaders(); }catch(e){ return ''; } })(),
responseText : (function(){ try{ return req.responseText; }catch(e){ return ''; } })(),
readyState : req.readyState });
};
});

if(obj.overrideMimeType) req.overrideMimeType(obj.overrideMimeType);
req.send(obj.data || null);
}

167 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/17(土) 17:46:49 ID:U5dwWWAZ0]
3.0b2pre なんですが、

ttp://d.hatena.ne.jp/nyama/20070521/1179727754

が動かないのは、私だけでしょうか?
loader は zeniko 氏純正使ってます。



168 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/17(土) 17:56:53 ID:5yij81ED0]
>>167
BrowserSearch.searchBarに変わったので, 修正しないと動きません。

169 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/17(土) 19:10:58 ID:U5dwWWAZ0]
>>168
どのように直せばいいのでしょうか?


170 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/17(土) 19:51:07 ID:mFD1D03Q0]
userChrome.jsで機能するマウスジェスチャーで
階層を1つ上に上がる拡張機能 "Go Up"の機能を再現したいのですが、
どうしたらできるでしょうか?




171 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/17(土) 19:54:14 ID:/gwdG4z60]
>>170
軽量マウスジェスチャー用の次へ,前へのナビゲーションリンクコマンド(改1)
space.geocities.yahoo.co.jp/gl/alice0775/view/20070525/1180080346


172 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/17(土) 20:23:05 ID:lbbWBy/s0]
普通にどっか(忘れたw)に出てた気がするけどなあ。
Aliceさんのものが上で上がってるので蛇足かもしれないけど

var uri = gBrowser.currentURI;
if (uri.path == "/")
return;
var pathList = uri.path.split("/");
if (!pathList.pop())
pathList.pop();
loadURI(uri.prePath + pathList.join("/") + "/"); break;


173 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/17(土) 20:29:47 ID:lbbWBy/s0]
>>169
たぶん
BrowserSearch.getSearchBar()がBrowserSearch.searchBarに
変更になったってことだと思う。だからそこを直せば良いのでは?

var searchBar = BrowserSearch.getSearchBar();

var searchBar = BrowserSearch.searchBar;


174 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/17(土) 20:53:52 ID:mFD1D03Q0]
>>171-172
ありがとうございました。出来ました。


175 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/17(土) 21:47:18 ID:LsQ6cAYz0]
>>166
なにもかかれていないポップアップが出るようになり、エラーが出なくなりました。
しかしdel.icio.usにはポストされていません。

176 名前:初スレの80 mailto:sage [2007/11/17(土) 22:57:51 ID:2O/4iQWc0]
>>175
req.open(obj.method || 'GET',obj.url,true);

req.open(obj.method || 'GET',encodeURI(obj.url),true);
に直してみて貰えます?

177 名前:名無しさん@お腹いっぱい。 [2007/11/18(日) 06:47:41 ID:xq9pTFE40]
表示しているタブのURLをクリップボードにコピーするマウスジェスチャってありますでしょうか?

178 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/18(日) 10:20:15 ID:YSvnsAUO0]
>>173
試してみましたが、残念ながら動きませんでした。


179 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/18(日) 10:23:13 ID:ceMn4oLw0]
>>176
変化なしです。

180 名前:名無しさん@お腹いっぱい。 [2007/11/18(日) 16:32:06 ID:bcxaZQoP0]
質問です!
xml, xul, html filesのエディターで, tree構造を開いたりcollapseしたりできるようなもの
ってありますか?

xulエクスプローラというのを試しに使ってみましたが、これはそういう機能ないみたいですね
誰か情報ご存じのかた、おしえてください。



181 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/18(日) 17:56:15 ID:b12BDbi50]
GM_Modoki.jslを利用した自作のスクリプトで、似たようなエラーが出てたことがあった。

req.onerrorのときに、req.statusとかreq.statusTextを参照したり、
req.onreadystatechangeのときに、status,statusText,responseText,responseHeadersを
参照したりすると、エラーが出たことがあったので、そのあたりをばっさりコメント化したら事なきを得た。

今回の(del.icio.usの)とは関係なさそうだけど。

182 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/18(日) 21:03:25 ID:tbvCjhHP0]
>>178
>>173をそのままじゃだめですよ
変数名の大文字小文字, ソースをようく見て修正してみてください。

183 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/18(日) 22:25:22 ID:ceMn4oLw0]
Menu Editor以外にメニュー編集できる拡張あったっけ?
なんかMenu Editorだとusemenu.jsのメニュー項目が表示されたりされなかったりだし、
場所変えても再起動すると元に戻ってる。

Conpact Menu 2でusercontent.jsとかのメニューを使うにはどうすればいいでしょうか?
あとアップローダーにあるGoogle Thumbnals動かないのは俺だけ?

184 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/18(日) 22:41:46 ID:YCD4RtVS0]
ググる気もない奴がメニュー編集だの usercontent.js だのに手出すなよ。
MenuManipulator でも使っとけ。

185 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/18(日) 23:03:47 ID:MWBFA1tj0]
>>178
余計な口はさんじゃったから、余計混乱させてしまったみたいですね…
すみません。

>>182さんのおっしゃるとおり、私が変数名の大文字小文字を間違って
書いてしまったんです。でもワザとじゃないです。ホントです。
searchBarではなくてsearchbarでした。

var searchbar = BrowserSearch.getSearchBar();

var searchbar = BrowserSearch.searchBar;


186 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/19(月) 00:08:44 ID:DbfqPlZk0]
MenuManipulatorは1.5までしか対応してないんじゃ?
バージョン書き換えで動くのかな

187 名前:初スレの80 mailto:sage [2007/11/19(月) 00:29:14 ID:I8pRIDhQ0]
>>179
お手上げです.一応調べてはみますがあんまり期待せんでください.
はてブもdel.icio.usも使ってないんで.

>>181
GM_modokiに限った話じゃなく,nsiXMLHttpRequest.status等で例外が発生することがあるみたいで,
ググってみたら似たような話がちらほら出てきました.

188 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/19(月) 00:49:05 ID:glVowEf70]
>>179
これで動作すると思います
function GM_xmlhttpRequest(obj){
if(typeof(obj) != 'object' || (typeof(obj.url) != 'string' && !(obj.url instanceof String))) return;
var req = new XMLHttpRequest();
req.open(obj.method || 'GET',encodeURI(obj.url),true);
if(typeof(obj.headers) == 'object')
for(var i in obj.headers) req.setRequestHeader(i,obj.headers[i]);
if(typeof obj.headers == 'object'){ for(var i in obj.headers) req.setRequestHeader(i,obj.headers[i]); }
['onload','onerror','onreadystatechange'].forEach(function(k){
if(obj[k] && (typeof(obj[k]) == 'function' || obj[k] instanceof Function))
req[k] = function(){
var responseState = {
responseText:req.responseText,
readyState:req.readyState,
responseHeaders:(req.readyState == 4 ? req.getAllResponseHeaders() :''),
status:(req.readyState == 4 ? req.status : 0),
statusText:(req.readyState == 4 ? req.statusText : '') };
setTimeout(function(){obj[k](responseState);}, 0);
};
});
if(obj.overrideMimeType) req.overrideMimeType(obj.overrideMimeType);
setTimeout(function(){
if(typeof obj.data == 'string') req.send(obj.data);
else req.send(null);
}, 500);
}

>>187
一番最後の setTimeoutの500 が 環境依存になるので, ここを上手い具合に逃げられないか検討を要すると思う。

189 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/19(月) 03:01:20 ID:glVowEf70]
>>149
keyconfig使わないのでよく分からないが, 以下のようなコードを書いたらいいのではと思う。

すべて開く readLater.allOpen();

すべて削除 readLater.clear(true);readLater.saveForWindow();

リストから一つ開く
if(document.getElementById("readLater-popup")..childNodes.length > readLater.MENUINDEX ) )
readLater.openURL(document.getElementById("readLater-popup").lastChild);

(リンクにフォーカスある時に)リストに登録
var linkNode = null;
var target = document.commandDispatcher.focusedElement;
while (target) {
if (target instanceof HTMLAnchorElement ||
target instanceof HTMLAreaElement ||
target instanceof HTMLLinkElement) { if (target.hasAttribute("href")) linkNode = target; }
target = target.parentNode;
}
if(linkNode){
var aURL = linkNode.href;
var aTitle = gatherTextUnder( linkNode );
}else{
var aURL = readLater._getFocusedWindow().content.document.URL;
var aTitle = readLater._getFocusedWindow().content.document.title;
}
readLater.addMenu(aURL,aTitle);
readLater.saveForWindow();

190 名前:189 mailto:sage [2007/11/19(月) 03:06:56 ID:glVowEf70]
× ..
○ .



191 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/19(月) 07:08:16 ID:07waf0o40]
>>188
Greasemonkey使用時と同じ動作になりました。ありがとうございました。

あとここにいる人たちはコンテキストメニューの順番とかどう弄ってるのかな?
手書き?アリスさんのところにMenu Editor用UserChrome.jsスクリプトがあったから
併用できるのかと思ったんだけど、うまく行かない。

192 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/19(月) 10:15:26 ID:glVowEf70]
>>191
Menu Editorに類するものは使っていません。
スクリプトのものは, スクリプトを修正して, 拡張のものはそのまま使っている。
不要な項目はCSSで非表示にしている。

Menu Editorやそれに類するものは, menuitemを一端削除してから,再度作り直している(副作用で
セパレータのIdも変わってしまっている)ので, menuitem等にダイナミックにイベントを定義しているものはスクリプト
だけでなく拡張機能およびFxの本来のもの(もしあれば)も動かなくなる。この仕様はBug 286619で挙げられたが,
たぶんチェックインない。

対処方法は ダイナミックにイベントリスナを定義するのでなく on〜の属性を使用するようにすればいい。

上記対処をした上で, Menu Editor用UserChrome.jsスクリプト とは逆に,
すべてのメニュー構築が終わった段階(スクリプトなどで通知して)でMenu Editorやそれに類するものが動くように拡張機能の中身
を変更すればいい。 そうすれば, スクリプトで追加したメニュー項目も並び替えることができる

と言うことです。

193 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/19(月) 12:33:14 ID:fnDmXF/u0]
>>182
>>185
無事動作するようになりました!
あるがとうございます。


194 名前:180 [2007/11/19(月) 17:17:57 ID:J03Hzrn+0]
>>180おねがいします。

195 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/19(月) 19:51:21 ID:xRGjdJXL0]
Alice氏のopenTabsWhere_whichTabSelectWhenCloseTab.uc.jsを使っています。
ttp://space.geocities.yahoo.co.jp/gl/alice0775/view/20071110/1194630844

zip等のリンクにtarget="_blank"があった場合、空白のタブが開いても
自動で閉じてたんですが、これが効かなくなりました。
今までのように自動で閉じるようにするにはどうすればいいでしょうか?

196 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/19(月) 20:50:46 ID:glVowEf70]
>>195
私の環境では自動で閉じます。
あなたの環境が不明なので回答不能です。

197 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/19(月) 21:24:33 ID:gJEOso960]
>>195
あ、それうちもなるなる。たまに空っぽのタブができてて、何だろうって思ってたら
ダウンロードした後だった。なんでだろうね(´・ω・)?

198 名前:195 mailto:sage [2007/11/19(月) 21:35:10 ID:xRGjdJXL0]
>>196
すいません。試した環境は以下の通りです(新規プロファイルを作成)。

拡張
・userChrome.js 0.8
userChrome.js
・ttp://space.geocities.jp/alice0775/STORE/userChrome.js
スクリプト
・openTabsWhere_whichTabSelectWhenCloseTab.uc.js

Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9 - Build ID: 2007102514

199 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/19(月) 21:44:43 ID:glVowEf70]
>>198
>自動で閉じてたんですが
提示されている拡張とスクリプトでは, ブランクタブが閉じないのは正しい挙動です。

200 名前:195 mailto:sage [2007/11/19(月) 21:54:42 ID:xRGjdJXL0]
>>199
<a href="./file.zip" target="_blank">file.zip</a>

の様なリンクをクリックした際に表示されるブランクタブが閉じる機能で、
1.5?あたりからついたFirefox標準の機能のことです。
openTabsWhere_whichTabSelectWhenCloseTab.uc.js を外すと自動で閉じてくれるんですが…



201 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/19(月) 22:10:29 ID:glVowEf70]
>>200
だから, 提示されている拡張とスクリプトでは, ブランクタブが閉じないのは正しい挙動です。

同スクリプトのlTREATEQUALLY を falseにしてやれば 元の機能に戻ります。

202 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/19(月) 23:37:07 ID:glVowEf70]
>>195 >>197
ファイルダウンロード時/GMインストール時の空白タブを自動に閉じる
ttp://space.geocities.yahoo.co.jp/gl/alice0775/view/20071015/1192374765
これを入れるという手段もあります。

203 名前:195 mailto:sage [2007/11/20(火) 00:28:26 ID:bhvNpDK+0]
>>201-202
> TIREATEQUALLY を false

ちょっと199のレスを勘違いしてたみたいです。この設定でいい感じになりました。
ありがとうございます。

204 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/20(火) 00:42:09 ID:jR9cylFB0]
ウィンドウをマージするスクリプトが動かなくなってしまったのですが、
mgkWindowMediatorは何に置き換えればよいのでしょうか。

var enumerator = mgkWindowMediator.getEnumerator("navigator:browser");
var targetWindow = null;
var tabCount = 0;
while (enumerator.hasMoreElements())
{
var cur = enumerator.getNext();
var ctabs = cur.getBrowser().mTabBox._tabs.childNodes.length;
if (ctabs > tabCount && cur != window)
{
targetWindow = cur;
tabCount = ctabs;
}
}
if (targetWindow)
{
tabCount = getBrowser().mTabBox._tabs.childNodes.length;
for (var i = 0; i < tabCount; i++)
{
var b = getBrowser().getBrowserForTab(getBrowser().mTabBox._tabs.childNodes[i]);
targetWindow.getBrowser().addTab(b.currentURI.spec);
}
window.close();
targetWindow.focus();
}


205 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/20(火) 01:58:26 ID:kosdGt1b0]
>>204
Components.classes["@mozilla.org/appshell/window-mediator;1"].getService(Ci.nsIWindowMediator)
と思う。

こっちのを使う手もある。
Mozilla Firefox まとめサイト
mergeWindow2.uc.jsウィンドウをマージする
ttp://firefox.geckodev.org/index.php?userChrome.js

206 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/20(火) 02:48:27 ID:jR9cylFB0]
>>205
ありがとうございます。

enumerator.hasMoreElements()のとこでダメみたいですね。
教えていただいたmergeWindow2.uc.jsの方を使わせていただこう
と思います。

207 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/20(火) 02:53:49 ID:IE0RSdMW0]
>>188
これにGM_xmlhttpRequestを変更してから
userscripts.org/scripts/show/13026
のLDR subscriber in FLDR.user.jsが動かなかったのですが、
このScriptの
encodeURIComponent()のところを
encodeURI()を使うことによって解決しました。

そこで思ったのですがGM_xmlhttpRequestで送る
urlの仕様は変更なさったのでしょうか。

208 名前:188 mailto:sage [2007/11/20(火) 02:56:40 ID:kosdGt1b0]
>>207
>>188
req.open(obj.method || 'GET',encodeURI(obj.url),true);

req.open(obj.method || 'GET', obj.url , true);
かな

209 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/20(火) 03:24:43 ID:IE0RSdMW0]
>>208
動作確認しました。
ありがとうございます。

210 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/20(火) 07:13:34 ID:TEeCNQor0]
Greasemonkeyの場合、除外したいサイトは@excludeで指定できますが、Stylishのスクリプトでも、除外用の構文ってありますか?



211 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/20(火) 11:12:56 ID:kosdGt1b0]
>>210
そのような構文はありません。

212 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/20(火) 11:24:11 ID:YU0K/yje0]
Chrome Edit PlusやEdit Config Filesみたいに
プロファイルのフォルダを開いたり、各css編集できる
スクリプトってありますか?

213 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/20(火) 11:33:49 ID:kosdGt1b0]
>>212
>>1

214 名前:初スレの80 mailto:sage [2007/11/20(火) 18:13:30 ID:PghSJcrM0]
>>188
参考にさせていただきます.
このコードを見て初めて原因が判りました.
sendはサーバへの接続確立を待たないみたいですね.

215 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/20(火) 23:11:27 ID:dTFzK6oy0]
3β入れたんだが、textlink.uc.jsがURL文字列を4回クリックしないと動かない

216 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/21(水) 10:07:50 ID:j89CxKHd0]
Stylishのステータスバーアイコンクリックすると出てくるメニューをコンテキストメニューに追加するにはどうすればいいですか?

217 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/21(水) 11:08:12 ID:eccdy7XG0]
>>216
DOMインスペクタでStylishのステータスバーアイコンクリックすると出てくるメニューのid調べて
contentAreaContextMenuに追加すればいいんでない?

218 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/21(水) 12:48:50 ID:vc2nmuc50]
DragNgoModoki3.uc.jsで、画像を例えばデスクトップにD&Dした場合、ショートカットが保存されてしまうのですが
画像を保存するようにするにはどうすればいいでしょう。

219 名前:名無しさん@お腹いっぱい。 [2007/11/21(水) 15:17:34 ID:SksZKa9B0]
>>215
地味に苦しいな

220 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/21(水) 15:19:13 ID:2DvEr1E50]
>>218
デフォルトで実体をドロップするようにしておいた。



221 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/21(水) 16:07:41 ID:phrViVK80]
Tab Clicking Options の拡張を置き換えたくて、これに代わる
userChrome.js のスクリプトを探しています。

タブ左Wクリックで、そのタブが閉じてくれればよいです。

すみませんが、こんなスクリプトがありましたら教えてください。

222 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/21(水) 16:30:45 ID:o2uxjZoD0]
昨日の3.0b2ナイトリーから
80氏の"Open Selection.se.js"とGomita氏の"Recently Closed Tabs popup.uc.js"
が正常動作しなくなってしまいました。

Open Selection.se.jsはリンクが開けない
Recently Closed Tabs popup.uc.jsは中クリは利くけど右クリでリストが表示されない

です。
よければ修正箇所を教えてもらえないでしょうか?

223 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/21(水) 16:36:51 ID:2DvEr1E50]
>>222
bug 404499 ttps://bugzilla.mozilla.org/show_bug.cgi?id=404499
を直していただければ善処いたします。

224 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/21(水) 17:36:40 ID:v4jfpR9M0]
3.0b1で軽量マウスジェスチャからページ内検索をしようとしたら
gFindBar.isFindBarVisible() ? gFindBar.closeFindBar() : gFindBar.onFindCmd();
が仕様変更で使えないorz
誰か助けて

225 名前:初スレの80 mailto:sage [2007/11/21(水) 17:40:49 ID:na7pBzEw0]
>>214
間違ってた.sendを実行しないとサーバへの接続をしない.
そもそも当方では何も待たずにいきなりsendしても失敗しないので確認できない.
試しに話に挙がったdel.icio.usにポストしてみてもすんなり成功してしまうので,
GM_modoki.jslのGM_xmlhttpRequestが失敗する方に協力願えると助かります.
GM_xmlhttpRequestを>>166のコードにして,「req.send(obj.data || null);」を以下のどちらかに修正して成功するかどうか.

var timer = setInterval(function{ if(req.readyState == 1){ clearInterval(timer); req.send(obj.data || null); } },10);

var timer = setInterval(function{ if(req.channel){ clearInterval(timer); req.send(obj.data || null); } },10);

>>222
特に説明してなかったのでアレだけど,サンプルはfx2専用とでも思ってください.
なかなか確認や修正まで手が回りません.

226 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/21(水) 18:15:46 ID:o2uxjZoD0]
>>225,223
バグが関係してるようなので様子を見ることにします。
すいませんでした。

227 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/21(水) 18:16:45 ID:WmaX14u00]
質問 1
Greased Lightboxを使いたいんですけど
user_pref("capability.policy.default.Window.navigator", "noAccess");
て書いてると
エラー: userContent.js / Greased_Lightbox_v0.15.user.js
Permission denied to get property Window.navigator
と出て動きません。両立する方法、ありませんか?

質問 2
livedoor Reader 関連のスクリプトを動かしたくて前スレみて
書換えてみた・・・
メタデータに 「@privilege false」を追加する の意味がわかりません
どこに、書き足せばいいのでしょうか?




228 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/21(水) 18:46:23 ID:2DvEr1E50]
>>227
navigator オブジェクト を使用しないようユーザスクリプトを改造する。

userContent.js.readme.txtにメタデータの説明がある。ユーザスクリプトに記述する。

229 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/21(水) 19:24:17 ID:2DvEr1E50]
>>224
gFindBar.hidden ? gFindBar.onFindCommand() : gFindBar.close();
で動作するかと思います。

230 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/21(水) 19:59:21 ID:WmaX14u00]
>>228
あははは。全然,無理でした。あきらめます
ありがとうございました



231 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/21(水) 20:04:20 ID:v4jfpR9M0]
>>229
それで動いた
ありがとう

232 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/21(水) 20:13:06 ID:2DvEr1E50]
>>225
タイプミス× setInterval(function{ if... ○ setInterval(function(){ if... ですね。
用法試しましたが, どちらでも問題なくポストできました。。
当方では以下のようにsetTimeout二重使いで open→コールバック定義→sendの順で呼ぶようにしてみました。
function GM_xmlhttpRequest(obj){
if(typeof(obj) != 'object' || (typeof(obj.url) != 'string' && !(obj.url instanceof String))) return;

var req = new XMLHttpRequest();
req.open(obj.method || 'GET',obj.url,true);
if(typeof(obj.headers) == 'object') for(var i in obj.headers) req.setRequestHeader(i,obj.headers[i]);
setTimeout(function(){
['onload','onerror','onreadystatechange'].forEach(function(k){
if(obj[k] && (typeof(obj[k]) == 'function' || obj[k] instanceof Function)) req[k] = function(){
obj[k]({
status : (req.readyState == 4) ? req.status : 0,
statusText : (req.readyState == 4) ? req.statusText : '',
responseHeaders : (req.readyState == 4) ? req.getAllResponseHeaders() : '',
responseText : req.responseText,
readyState : req.readyState });
};
});
if(obj.overrideMimeType) req.overrideMimeType(obj.overrideMimeType);

setTimeout(function(){
if(typeof obj.data == 'string') req.send(obj.data);
else req.send(null);
}, 0);
}, 0);
}

233 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/21(水) 21:23:10 ID:RrFeGndT0]
>>220
ありがとうございます! これでDrag de Goから乗り換えられます

234 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/22(木) 00:10:34 ID:AGZegiZi0]
ページ内のリンクのうち、URLに特定の文字列を含むリンクを
自動で新規タブに開くようなことはスクリプトで可能でしょうか?

235 名前:初スレの80 mailto:sage [2007/11/22(木) 17:21:34 ID:AR0Vp6k80]
>>232
ありがとうございます.
どうやらsetTimeoutなり何なりでタイミングをずらせば良いだけっぽいですね.
一応,readyStateの値を信用してみます.

236 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/22(木) 21:43:35 ID:Z7cdNgjj0]
>>234
可能


237 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/22(木) 22:17:11 ID:kE+aNBfi0]
www.xuldev.org/blog/?p=113
のVertical Toolbarを入れていると
to.tumblr.com/post/14878939
のTomblooが動きません。どこを直したらいいでしょうか。

Firefox2.0.0.9で新規プロファイルで試したところ
Tombloo
userChrome.js
Alice氏のローダー
までは動きましたがVertical Toolbarを入れると動きませんでした。
また、Vertical Toolbar以外のScript(userContent.jsやuserMenu.jsなど)
を入れた状態ではTomblooは動いたのでVertical Toolbarが原因と判断しました。

238 名前:237 mailto:sage [2007/11/23(金) 00:40:33 ID:wl7QmHat0]
Scriptの内の定義名やその他の関数のかたちを変えたりしても
うまくいかなかったので、もしやと思いVertical ToolbarのCSS情報を記述してある
    var style = <![CDATA[
        toolbar[orient="vertical"] > toolbarspacer { height: 15px; }
        toolbar[orient="vertical"] > toolbarseparator {
            margin: 0.2em 2px;
            border-bottom: 1px solid ThreeDHighlight;
            border-top: 1px solid ThreeDShadow;
            height: 2px;
            border-left: none;
            border-right: none;
        }
    ]]>.toString();
    var sspi = document.createProcessingInstruction(
        'xml-stylesheet',
        'type="text/css" href="data:text/css,' + encodeURI(style) + '"'
    );
    document.insertBefore(sspi, document.documentElement);
    sspi.getAttribute = function(name) {
        return document.documentElement.getAttribute(name);
    };
の部分を削除してuserChrome.css内に同等の情報を
記述することによってなんとかTomblooを動かすことができました。
しかしいまだに原因がよくわからないのですが、なぜ動かなかったんでしょうか。
後学のためにわかる方教えていただけないでしょうか。

239 名前:名無しさん@お腹いっぱい。 [2007/11/23(金) 02:06:12 ID:M8KWvshk0]
BHNewTabのtrunk版まだ〜?

240 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/23(金) 02:14:10 ID:QPjK0CFS0]
>>237
tombloo.xpiの中のbrowser.xulの168行目
document.firstChild.appendChild(env);

document.documentElement.appendChild(env);
にすれば直るかもしんない
どっちかというと原因は拡張のほうにある



241 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/23(金) 02:21:44 ID:wl7QmHat0]
>>240
ありがとうございます。
そちらのほうが原因だったんですね。

後、思ったのですがuserChrome.js内でStyleを定義するのと
userChrome.cssで定義するのではどちらのほうが軽量化されるのでしょうか。
なんとなくCSSに書いたほうが高速な気がするのは気のせいでしょうか。
Scriptが更新されるといちいち改定しなくてはいけないのは難点ですが。

242 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/23(金) 02:23:35 ID:mKMJxEwO0]
>>239
>>162

243 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/23(金) 02:30:23 ID:NNnzHf3V0]
>>241
userChrome.cssで定義した方がいいに決まっている。
けど、それだとJSとCSSの2ファイル編集しないといけないので面倒だろ?

244 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/23(金) 08:56:17 ID:wxyKtPiW0]
userChrome.js のスクリプトを自分で勉強して書いてみたいのですが、
参考になるサイトやドキュメントなどありませんか?

245 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/23(金) 14:22:11 ID:8fPa9zRX0]
>>244
developer.mozilla.org/ja/docs/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8

246 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/23(金) 14:34:49 ID:wl7QmHat0]
>>243
そうですか。
Vertical ToolbarのようなScriptはもうこれで完成してしまっているような
気がするので、userChrome.cssに記述することにします。
ありがとうございました。

247 名前:名無しさん@お腹いっぱい。 [2007/11/23(金) 18:42:12 ID:Zu5kNE2h0]
userChrome.jsって、エクステンションで同じ機能を
インストールするのと比べて何が嬉しいの?
煽りでも荒しでもなく、本気でよくわかってないので教えてー。

248 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/23(金) 18:51:43 ID:BRsmlFfu0]
>>247
俺はなるべく動作の軽いスクリプトにしてるけど
管理が面倒なのや多機能なのはアドオンにしてるよ

249 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/23(金) 19:02:40 ID:LlcZ50/R0]
>>247
必要のない機能を削って遅くならないようにするため
実際には変化はなかなか分からないけど

250 名前:名無しさん@お腹いっぱい。 [2007/11/23(金) 19:03:27 ID:Zu5kNE2h0]
>>248
Firefoxが重くて仕方ない人とか、
ちょろっと痒いトコロを便利にしたい人向けってこと?
なんだか管理とかセキュリティとか考えるとデメリットが大きすぎる気がして。
導入とバックアップを直接フォルダで〜っていうのも、なんだかなって感じ。
Greasemonkeyくらい手軽なら使ってみたいんだけどね。




251 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/23(金) 19:05:54 ID:BRsmlFfu0]
>>250
Greasemonkeyは描写遅くなるから俺はダメだな

252 名前:名無しさん@お腹いっぱい。 [2007/11/23(金) 19:06:43 ID:Zu5kNE2h0]
>>249
やっぱり軽量化が主になるんだね。
シンプルになるのは魅力なんだけど、管理が面倒。
Stylishみたいな管理エクステンションとかがあればいいのに…。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<327KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef