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みたいな管理エクステンションとかがあればいいのに…。