firefox userChrome.js greasemonkeyスクリプトスレ 3
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2007/11/07(水) 00:39:11ID: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/
0153名無しさん@お腹いっぱい。
2007/11/16(金) 22:29:19ID:hyZwijKg0そのまま0.8で動く
0154初スレの80
2007/11/16(金) 23:39:06ID:RVK/oSY+0GM_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イベントでなら,それで拾えるんだけど.
0155140
2007/11/16(金) 23:50:06ID:LwvcuW8S0http://www.faqts.com/knowledge_base/view.phtml/aid/33674
こういう方法でイベントでカーソル下の単語を知ることはできるようなので
これを応用してできないかと思ったのですが、
まだ勉強中で実現できるかどうかよくわかってないところがあります。
すみません。
0156名無しさん@お腹いっぱい。
2007/11/17(土) 00:14:09ID:LsQ6cAYz0あと001-execMenuEditor.uc.jsってのを入れたんですけどUserMenu.jsとMenuEditorが共存できそうにありません。
MenuEditorを使ったメニュー項目の並び替えはできないのでしょうか?
0157名無しさん@お腹いっぱい。
2007/11/17(土) 00:39:16ID:av6mu2OE0動画のタイトル名で保存させられるようなスクリプトってないでしょうか?
0158名無しさん@お腹いっぱい。
2007/11/17(土) 01:02:49ID:LsQ6cAYz0そのコードだと以下のようなエラーに。
エラー: [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
エラーの内容は変わってない様子。
0159名無しさん@お腹いっぱい。
2007/11/17(土) 13:13:13ID:G+/jUdJB0ポップアップ表示するものはあるのでしょうか。
userChromeとgreasemonkeyどちらでも構いません、知っている方が居られましたら教えていただけませんか。
0160名無しさん@お腹いっぱい。
2007/11/17(土) 14:18:02ID:5yij81ED0つ ttp://space.geocities.yahoo.co.jp/gl/alice0775/view/20071023/1193066474
0161名無しさん@お腹いっぱい。
2007/11/17(土) 14:35:20ID:mn8eICOu0(右に3つ開いた後左に開いていく)
これを直すにはどこを修正すれば良いのでしょうか?
また、他の"タブの右に開く系"でも常に右に開かせる改造は可能でしょうか?
よろしくお願いします。
0162名無しさん@お腹いっぱい。
2007/11/17(土) 14:52:23ID:5yij81ED0>また、他の"タブの右に開く系"でも...
と言うことですので, オールインワンでかつ(現状では)比較的trunkに対応の早い
Tab Mix Plusを使用することを選択肢に入れてはどうでしょうか。
0163名無しさん@お腹いっぱい。
2007/11/17(土) 16:00:40ID:mn8eICOu0ああ、Tab Mix Plusを忘れてた。入れたら問題なかった。
軽くなるかと思ってuserChrome.jsに切替えてたけどそんなに違わないし、また拡張に戻ってみます。
0164名無しさん@お腹いっぱい。
2007/11/17(土) 16:21:38ID:G+/jUdJB0ありがとうございます。
希望通りの物でした。
0165名無しさん@お腹いっぱい。
2007/11/17(土) 16:24:41ID:mFD1D03Q0ありがとうございます。
0166初スレの80
2007/11/17(土) 17:22:56ID:2O/4iQWc0これで駄目だったらお手上げ.
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);
}
0167名無しさん@お腹いっぱい。
2007/11/17(土) 17:46:49ID:U5dwWWAZ0ttp://d.hatena.ne.jp/nyama/20070521/1179727754
が動かないのは、私だけでしょうか?
loader は zeniko 氏純正使ってます。
0168名無しさん@お腹いっぱい。
2007/11/17(土) 17:56:53ID:5yij81ED0BrowserSearch.searchBarに変わったので, 修正しないと動きません。
0169名無しさん@お腹いっぱい。
2007/11/17(土) 19:10:58ID:U5dwWWAZ0どのように直せばいいのでしょうか?
0170名無しさん@お腹いっぱい。
2007/11/17(土) 19:51:07ID:mFD1D03Q0階層を1つ上に上がる拡張機能 "Go Up"の機能を再現したいのですが、
どうしたらできるでしょうか?
0171名無しさん@お腹いっぱい。
2007/11/17(土) 19:54:14ID:/gwdG4z60軽量マウスジェスチャー用の次へ,前へのナビゲーションリンクコマンド(改1)
http://space.geocities.yahoo.co.jp/gl/alice0775/view/20070525/1180080346
0172名無しさん@お腹いっぱい。
2007/11/17(土) 20:23:05ID:lbbWBy/s0Aliceさんのものが上で上がってるので蛇足かもしれないけど
var uri = gBrowser.currentURI;
if (uri.path == "/")
return;
var pathList = uri.path.split("/");
if (!pathList.pop())
pathList.pop();
loadURI(uri.prePath + pathList.join("/") + "/"); break;
0173名無しさん@お腹いっぱい。
2007/11/17(土) 20:29:47ID:lbbWBy/s0たぶん
BrowserSearch.getSearchBar()がBrowserSearch.searchBarに
変更になったってことだと思う。だからそこを直せば良いのでは?
var searchBar = BrowserSearch.getSearchBar();
↓
var searchBar = BrowserSearch.searchBar;
0174名無しさん@お腹いっぱい。
2007/11/17(土) 20:53:52ID:mFD1D03Q0ありがとうございました。出来ました。
0175名無しさん@お腹いっぱい。
2007/11/17(土) 21:47:18ID:LsQ6cAYz0なにもかかれていないポップアップが出るようになり、エラーが出なくなりました。
しかしdel.icio.usにはポストされていません。
0176初スレの80
2007/11/17(土) 22:57:51ID:2O/4iQWc0req.open(obj.method || 'GET',obj.url,true);
を
req.open(obj.method || 'GET',encodeURI(obj.url),true);
に直してみて貰えます?
0177名無しさん@お腹いっぱい。
2007/11/18(日) 06:47:41ID:xq9pTFE400178名無しさん@お腹いっぱい。
2007/11/18(日) 10:20:15ID:YSvnsAUO0試してみましたが、残念ながら動きませんでした。
0179名無しさん@お腹いっぱい。
2007/11/18(日) 10:23:13ID:ceMn4oLw0変化なしです。
0180名無しさん@お腹いっぱい。
2007/11/18(日) 16:32:06ID:bcxaZQoP0xml, xul, html filesのエディターで, tree構造を開いたりcollapseしたりできるようなもの
ってありますか?
xulエクスプローラというのを試しに使ってみましたが、これはそういう機能ないみたいですね
誰か情報ご存じのかた、おしえてください。
0181名無しさん@お腹いっぱい。
2007/11/18(日) 17:56:15ID:b12BDbi50req.onerrorのときに、req.statusとかreq.statusTextを参照したり、
req.onreadystatechangeのときに、status,statusText,responseText,responseHeadersを
参照したりすると、エラーが出たことがあったので、そのあたりをばっさりコメント化したら事なきを得た。
今回の(del.icio.usの)とは関係なさそうだけど。
0182名無しさん@お腹いっぱい。
2007/11/18(日) 21:03:25ID:tbvCjhHP0>>173をそのままじゃだめですよ
変数名の大文字小文字, ソースをようく見て修正してみてください。
0183名無しさん@お腹いっぱい。
2007/11/18(日) 22:25:22ID:ceMn4oLw0なんかMenu Editorだとusemenu.jsのメニュー項目が表示されたりされなかったりだし、
場所変えても再起動すると元に戻ってる。
Conpact Menu 2でusercontent.jsとかのメニューを使うにはどうすればいいでしょうか?
あとアップローダーにあるGoogle Thumbnals動かないのは俺だけ?
0184名無しさん@お腹いっぱい。
2007/11/18(日) 22:41:46ID:YCD4RtVS0MenuManipulator でも使っとけ。
0185名無しさん@お腹いっぱい。
2007/11/18(日) 23:03:47ID:MWBFA1tj0余計な口はさんじゃったから、余計混乱させてしまったみたいですね…
すみません。
>>182さんのおっしゃるとおり、私が変数名の大文字小文字を間違って
書いてしまったんです。でもワザとじゃないです。ホントです。
searchBarではなくてsearchbarでした。
var searchbar = BrowserSearch.getSearchBar();
↓
var searchbar = BrowserSearch.searchBar;
0186名無しさん@お腹いっぱい。
2007/11/19(月) 00:08:44ID:DbfqPlZk0バージョン書き換えで動くのかな
0187初スレの80
2007/11/19(月) 00:29:14ID:I8pRIDhQ0お手上げです.一応調べてはみますがあんまり期待せんでください.
はてブもdel.icio.usも使ってないんで.
>>181
GM_modokiに限った話じゃなく,nsiXMLHttpRequest.status等で例外が発生することがあるみたいで,
ググってみたら似たような話がちらほら出てきました.
0188名無しさん@お腹いっぱい。
2007/11/19(月) 00:49:05ID:glVowEf70これで動作すると思います
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 が 環境依存になるので, ここを上手い具合に逃げられないか検討を要すると思う。
0189名無しさん@お腹いっぱい。
2007/11/19(月) 03:01:20ID:glVowEf70keyconfig使わないのでよく分からないが, 以下のようなコードを書いたらいいのではと思う。
すべて開く 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();
0190189
2007/11/19(月) 03:06:56ID:glVowEf70○ .
0191名無しさん@お腹いっぱい。
2007/11/19(月) 07:08:16ID:07waf0o40Greasemonkey使用時と同じ動作になりました。ありがとうございました。
あとここにいる人たちはコンテキストメニューの順番とかどう弄ってるのかな?
手書き?アリスさんのところにMenu Editor用UserChrome.jsスクリプトがあったから
併用できるのかと思ったんだけど、うまく行かない。
0192名無しさん@お腹いっぱい。
2007/11/19(月) 10:15:26ID:glVowEf70Menu Editorに類するものは使っていません。
スクリプトのものは, スクリプトを修正して, 拡張のものはそのまま使っている。
不要な項目はCSSで非表示にしている。
Menu Editorやそれに類するものは, menuitemを一端削除してから,再度作り直している(副作用で
セパレータのIdも変わってしまっている)ので, menuitem等にダイナミックにイベントを定義しているものはスクリプト
だけでなく拡張機能およびFxの本来のもの(もしあれば)も動かなくなる。この仕様はBug 286619で挙げられたが,
たぶんチェックインない。
対処方法は ダイナミックにイベントリスナを定義するのでなく on〜の属性を使用するようにすればいい。
上記対処をした上で, Menu Editor用UserChrome.jsスクリプト とは逆に,
すべてのメニュー構築が終わった段階(スクリプトなどで通知して)でMenu Editorやそれに類するものが動くように拡張機能の中身
を変更すればいい。 そうすれば, スクリプトで追加したメニュー項目も並び替えることができる
と言うことです。
0193名無しさん@お腹いっぱい。
2007/11/19(月) 12:33:14ID:fnDmXF/u0>>185
無事動作するようになりました!
あるがとうございます。
0194180
2007/11/19(月) 17:17:57ID:J03Hzrn+00195名無しさん@お腹いっぱい。
2007/11/19(月) 19:51:21ID:xRGjdJXL0ttp://space.geocities.yahoo.co.jp/gl/alice0775/view/20071110/1194630844
zip等のリンクにtarget="_blank"があった場合、空白のタブが開いても
自動で閉じてたんですが、これが効かなくなりました。
今までのように自動で閉じるようにするにはどうすればいいでしょうか?
0196名無しさん@お腹いっぱい。
2007/11/19(月) 20:50:46ID:glVowEf70私の環境では自動で閉じます。
あなたの環境が不明なので回答不能です。
0197名無しさん@お腹いっぱい。
2007/11/19(月) 21:24:33ID:gJEOso960あ、それうちもなるなる。たまに空っぽのタブができてて、何だろうって思ってたら
ダウンロードした後だった。なんでだろうね(´・ω・)?
0198195
2007/11/19(月) 21:35:10ID:xRGjdJXL0すいません。試した環境は以下の通りです(新規プロファイルを作成)。
拡張
・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
0199名無しさん@お腹いっぱい。
2007/11/19(月) 21:44:43ID:glVowEf70>自動で閉じてたんですが
提示されている拡張とスクリプトでは, ブランクタブが閉じないのは正しい挙動です。
0200195
2007/11/19(月) 21:54:42ID:xRGjdJXL0<a href="./file.zip" target="_blank">file.zip</a>
の様なリンクをクリックした際に表示されるブランクタブが閉じる機能で、
1.5?あたりからついたFirefox標準の機能のことです。
openTabsWhere_whichTabSelectWhenCloseTab.uc.js を外すと自動で閉じてくれるんですが…
0201名無しさん@お腹いっぱい。
2007/11/19(月) 22:10:29ID:glVowEf70だから, 提示されている拡張とスクリプトでは, ブランクタブが閉じないのは正しい挙動です。
同スクリプトのlTREATEQUALLY を falseにしてやれば 元の機能に戻ります。
0202名無しさん@お腹いっぱい。
2007/11/19(月) 23:37:07ID:glVowEf70ファイルダウンロード時/GMインストール時の空白タブを自動に閉じる
ttp://space.geocities.yahoo.co.jp/gl/alice0775/view/20071015/1192374765
これを入れるという手段もあります。
0203195
2007/11/20(火) 00:28:26ID:bhvNpDK+0> TIREATEQUALLY を false
ちょっと199のレスを勘違いしてたみたいです。この設定でいい感じになりました。
ありがとうございます。
0204名無しさん@お腹いっぱい。
2007/11/20(火) 00:42:09ID:jR9cylFB0mgkWindowMediatorは何に置き換えればよいのでしょうか。
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();
}
0205名無しさん@お腹いっぱい。
2007/11/20(火) 01:58:26ID:kosdGt1b0Components.classes["@mozilla.org/appshell/window-mediator;1"].getService(Ci.nsIWindowMediator)
と思う。
こっちのを使う手もある。
Mozilla Firefox まとめサイト
mergeWindow2.uc.jsウィンドウをマージする
ttp://firefox.geckodev.org/index.php?userChrome.js
0206名無しさん@お腹いっぱい。
2007/11/20(火) 02:48:27ID:jR9cylFB0ありがとうございます。
enumerator.hasMoreElements()のとこでダメみたいですね。
教えていただいたmergeWindow2.uc.jsの方を使わせていただこう
と思います。
0207名無しさん@お腹いっぱい。
2007/11/20(火) 02:53:49ID:IE0RSdMW0これにGM_xmlhttpRequestを変更してから
http://userscripts.org/scripts/show/13026
のLDR subscriber in FLDR.user.jsが動かなかったのですが、
このScriptの
encodeURIComponent()のところを
encodeURI()を使うことによって解決しました。
そこで思ったのですがGM_xmlhttpRequestで送る
urlの仕様は変更なさったのでしょうか。
0208188
2007/11/20(火) 02:56:40ID:kosdGt1b0>>188の
req.open(obj.method || 'GET',encodeURI(obj.url),true);
を
req.open(obj.method || 'GET', obj.url , true);
かな
0209名無しさん@お腹いっぱい。
2007/11/20(火) 03:24:43ID:IE0RSdMW0動作確認しました。
ありがとうございます。
0210名無しさん@お腹いっぱい。
2007/11/20(火) 07:13:34ID:TEeCNQor00211名無しさん@お腹いっぱい。
2007/11/20(火) 11:12:56ID:kosdGt1b0そのような構文はありません。
0212名無しさん@お腹いっぱい。
2007/11/20(火) 11:24:11ID:YU0K/yje0プロファイルのフォルダを開いたり、各css編集できる
スクリプトってありますか?
0213名無しさん@お腹いっぱい。
2007/11/20(火) 11:33:49ID:kosdGt1b0>>1
0214初スレの80
2007/11/20(火) 18:13:30ID:PghSJcrM0参考にさせていただきます.
このコードを見て初めて原因が判りました.
sendはサーバへの接続確立を待たないみたいですね.
0215名無しさん@お腹いっぱい。
2007/11/20(火) 23:11:27ID:dTFzK6oy00216名無しさん@お腹いっぱい。
2007/11/21(水) 10:07:50ID:j89CxKHd00217名無しさん@お腹いっぱい。
2007/11/21(水) 11:08:12ID:eccdy7XG0DOMインスペクタでStylishのステータスバーアイコンクリックすると出てくるメニューのid調べて
contentAreaContextMenuに追加すればいいんでない?
0218名無しさん@お腹いっぱい。
2007/11/21(水) 12:48:50ID:vc2nmuc50画像を保存するようにするにはどうすればいいでしょう。
0219名無しさん@お腹いっぱい。
2007/11/21(水) 15:17:34ID:SksZKa9B0地味に苦しいな
0220名無しさん@お腹いっぱい。
2007/11/21(水) 15:19:13ID:2DvEr1E50デフォルトで実体をドロップするようにしておいた。
0221名無しさん@お腹いっぱい。
2007/11/21(水) 16:07:41ID:phrViVK80userChrome.js のスクリプトを探しています。
タブ左Wクリックで、そのタブが閉じてくれればよいです。
すみませんが、こんなスクリプトがありましたら教えてください。
0222名無しさん@お腹いっぱい。
2007/11/21(水) 16:30:45ID:o2uxjZoD080氏の"Open Selection.se.js"とGomita氏の"Recently Closed Tabs popup.uc.js"
が正常動作しなくなってしまいました。
Open Selection.se.jsはリンクが開けない
Recently Closed Tabs popup.uc.jsは中クリは利くけど右クリでリストが表示されない
です。
よければ修正箇所を教えてもらえないでしょうか?
0223名無しさん@お腹いっぱい。
2007/11/21(水) 16:36:51ID:2DvEr1E50bug 404499 ttps://bugzilla.mozilla.org/show_bug.cgi?id=404499
を直していただければ善処いたします。
0224名無しさん@お腹いっぱい。
2007/11/21(水) 17:36:40ID:v4jfpR9M0gFindBar.isFindBarVisible() ? gFindBar.closeFindBar() : gFindBar.onFindCmd();
が仕様変更で使えないorz
誰か助けて
0225初スレの80
2007/11/21(水) 17:40:49ID:na7pBzEw0間違ってた.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専用とでも思ってください.
なかなか確認や修正まで手が回りません.
0226名無しさん@お腹いっぱい。
2007/11/21(水) 18:15:46ID:o2uxjZoD0バグが関係してるようなので様子を見ることにします。
すいませんでした。
0227名無しさん@お腹いっぱい。
2007/11/21(水) 18:16:45ID:WmaX14u00Greased 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」を追加する の意味がわかりません
どこに、書き足せばいいのでしょうか?
0228名無しさん@お腹いっぱい。
2007/11/21(水) 18:46:23ID:2DvEr1E50navigator オブジェクト を使用しないようユーザスクリプトを改造する。
userContent.js.readme.txtにメタデータの説明がある。ユーザスクリプトに記述する。
0229名無しさん@お腹いっぱい。
2007/11/21(水) 19:24:17ID:2DvEr1E50gFindBar.hidden ? gFindBar.onFindCommand() : gFindBar.close();
で動作するかと思います。
0230名無しさん@お腹いっぱい。
2007/11/21(水) 19:59:21ID:WmaX14u00あははは。全然,無理でした。あきらめます
ありがとうございました
0231名無しさん@お腹いっぱい。
2007/11/21(水) 20:04:20ID:v4jfpR9M0それで動いた
ありがとう
0232名無しさん@お腹いっぱい。
2007/11/21(水) 20:13:06ID:2DvEr1E50タイプミス× 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);
}
0233名無しさん@お腹いっぱい。
2007/11/21(水) 21:23:10ID:RrFeGndT0ありがとうございます! これでDrag de Goから乗り換えられます
0234名無しさん@お腹いっぱい。
2007/11/22(木) 00:10:34ID:AGZegiZi0自動で新規タブに開くようなことはスクリプトで可能でしょうか?
0235初スレの80
2007/11/22(木) 17:21:34ID:AR0Vp6k80ありがとうございます.
どうやらsetTimeoutなり何なりでタイミングをずらせば良いだけっぽいですね.
一応,readyStateの値を信用してみます.
0236名無しさん@お腹いっぱい。
2007/11/22(木) 21:43:35ID:Z7cdNgjj0可能
0237名無しさん@お腹いっぱい。
2007/11/22(木) 22:17:11ID:kE+aNBfi0のVertical Toolbarを入れていると
http://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が原因と判断しました。
0238237
2007/11/23(金) 00:40:33ID:wl7QmHat0うまくいかなかったので、もしやと思い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を動かすことができました。
しかしいまだに原因がよくわからないのですが、なぜ動かなかったんでしょうか。
後学のためにわかる方教えていただけないでしょうか。
0239名無しさん@お腹いっぱい。
2007/11/23(金) 02:06:12ID:M8KWvshk00240名無しさん@お腹いっぱい。
2007/11/23(金) 02:14:10ID:QPjK0CFS0tombloo.xpiの中のbrowser.xulの168行目
document.firstChild.appendChild(env);
を
document.documentElement.appendChild(env);
にすれば直るかもしんない
どっちかというと原因は拡張のほうにある
0241名無しさん@お腹いっぱい。
2007/11/23(金) 02:21:44ID:wl7QmHat0ありがとうございます。
そちらのほうが原因だったんですね。
後、思ったのですがuserChrome.js内でStyleを定義するのと
userChrome.cssで定義するのではどちらのほうが軽量化されるのでしょうか。
なんとなくCSSに書いたほうが高速な気がするのは気のせいでしょうか。
Scriptが更新されるといちいち改定しなくてはいけないのは難点ですが。
0242名無しさん@お腹いっぱい。
2007/11/23(金) 02:23:35ID:mKMJxEwO0>>162
0243名無しさん@お腹いっぱい。
2007/11/23(金) 02:30:23ID:NNnzHf3V0userChrome.cssで定義した方がいいに決まっている。
けど、それだとJSとCSSの2ファイル編集しないといけないので面倒だろ?
0244名無しさん@お腹いっぱい。
2007/11/23(金) 08:56:17ID:wxyKtPiW0参考になるサイトやドキュメントなどありませんか?
0245名無しさん@お腹いっぱい。
2007/11/23(金) 14:22:11ID:8fPa9zRX0http://developer.mozilla.org/ja/docs/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8
0246名無しさん@お腹いっぱい。
2007/11/23(金) 14:34:49ID:wl7QmHat0そうですか。
Vertical ToolbarのようなScriptはもうこれで完成してしまっているような
気がするので、userChrome.cssに記述することにします。
ありがとうございました。
0247名無しさん@お腹いっぱい。
2007/11/23(金) 18:42:12ID:Zu5kNE2h0インストールするのと比べて何が嬉しいの?
煽りでも荒しでもなく、本気でよくわかってないので教えてー。
0248名無しさん@お腹いっぱい。
2007/11/23(金) 18:51:43ID:BRsmlFfu0俺はなるべく動作の軽いスクリプトにしてるけど
管理が面倒なのや多機能なのはアドオンにしてるよ
0249名無しさん@お腹いっぱい。
2007/11/23(金) 19:02:40ID:LlcZ50/R0必要のない機能を削って遅くならないようにするため
実際には変化はなかなか分からないけど
0250名無しさん@お腹いっぱい。
2007/11/23(金) 19:03:27ID:Zu5kNE2h0Firefoxが重くて仕方ない人とか、
ちょろっと痒いトコロを便利にしたい人向けってこと?
なんだか管理とかセキュリティとか考えるとデメリットが大きすぎる気がして。
導入とバックアップを直接フォルダで〜っていうのも、なんだかなって感じ。
Greasemonkeyくらい手軽なら使ってみたいんだけどね。
0251名無しさん@お腹いっぱい。
2007/11/23(金) 19:05:54ID:BRsmlFfu0Greasemonkeyは描写遅くなるから俺はダメだな
0252名無しさん@お腹いっぱい。
2007/11/23(金) 19:06:43ID:Zu5kNE2h0やっぱり軽量化が主になるんだね。
シンプルになるのは魅力なんだけど、管理が面倒。
Stylishみたいな管理エクステンションとかがあればいいのに…。
■ このスレッドは過去ログ倉庫に格納されています