[表示 : 全て 最新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/

132 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/15(木) 17:24:58 ID:L8X5d9bz0]
>>131
大変失礼致しました。
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9b2pre)
Gecko/2007111404 Minefield/3.0b2pre

mouse_gestures.uc.jsはttp://www.xuldev.org/blog/?p=74にあるもの
を利用させてもらってます。
「タブを閉じる」のコードは上で書いたとおりです。

アドオンはスペルチェックの辞書がいくつか、そして以下のとおりです。
Console2 0.3.8
DOM Inspector 1.9b2pre
Gmail Notifier 0.6.2.2
Google Notebook 1.0.0.18
Greasemonkey 0.7.20070607.0
JavaScript Debugger 0.9.87
keyconfig 20060828
Nightly Tester Tools 1.3b3
ScrapBook 1.3rc
Stylish 0.5.3
userChrome.js 0.8

userChrome.jsで使ってるローダはAliceさん作のものを利用させてもらって
ます。

133 名前:131 mailto:sage [2007/11/15(木) 17:53:52 ID:Cc1NvygG0]
>>132
Console2 0.3.8+
Custom Buttons2 2.0.5.8
DOM Inspector 1.9b2pre
FlashGot 0.6.9.7
Greasemonkey 0.7.20070607.0
GrepSidebar 0.0.8.0711071200
JavaScript Actions 2.3.0.2007010501
keyconfig ja 20070815
NoScript 1.1.8.1
ScrapBook 1.2.0.8
SearchBox Sync 0.4.2
SearchWP 1.1b1
Secure Login 0.8.1.4
Session Manager 0.6.1.5
Stylish 0.5.3
userChrome.js 0.8
ViewSourceWith 0.0.9.1.1
XHTML Ruby Support 1.4.2006100801
サブスクリプトロ−ダSub-Script/Overlay Loader v3.0mod
軽量マウスジェスチャ(ロッカーホイ-ル対応版)
gBrowser.removeCurrentTab(); break;

上記の環境では クラッシュ に至るようなことは無いです。
動作検証程度の使用頻度なので, 至っていないだけかもしれません。


どういうタイミングでクラッシュするか分かりませんが まだβにもなっていないので
いろいろと不具合があるのは, 仕方ないのではと思います。

134 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/15(木) 17:57:03 ID:L8X5d9bz0]
>>133
わざわざ検証していただきありがとうございました。
少し様子を見てみます。

135 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/15(木) 22:06:31 ID:0QJl8b5y0]
>>108
お礼が遅くなってしまいました。すいません。
とても快適に使用しています。
我侭聞いて下さってありがとうございます

136 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/15(木) 22:36:56 ID:TLB+Eo9B0]
tableで段組してあるものを全部なくして横一列に並べるかtdを一部結合させて段組を減らすことはできるのでしょうか?
グーグルのロゴ横の3段組のテーブルで表示されている検索欄を2段か1段にしたいのです。

今現在はこのようにして使用しています。
@-moz-document domain("www.google.co.jp"),domain("www.google.com") {
.ra,#guser,#sd,#ap > br
{ display: none !important; }
.g table{padding-top:0px !important; } .g {margin:0.4em 0 !important; }
.j {width:60em !important; } .l {font-size:95% !important;}
#res {padding-left:5px !important;}
#logo {display:block;width:150px;height:52px;position:relative;overflow:hidden;margin:10px 0 10px 100px !important;}
}

137 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 02:45:20 ID:rD6HooWc0]
MonkeyGestures設定可能なもののまとめってないでしょうか?


138 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 02:46:12 ID:rD6HooWc0]
すいません、助詞が抜けてた(´・ω・`)
MonkeyGesturesで設定可能なもののまとめってないでしょうか?
です。


139 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 03:17:02 ID:9kRRJ5+40]
Cross Post Hatena (+ del.icio.us)をusercontent.jsで使うにはどうすりゃいい?

140 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 05:24:00 ID:LwvcuW8S0]
実行した瞬間のマウスポインタの位置を知る方法ないですか?
イベントを使ってマウスの場所を知る方法ならいろいろみつかったのですが
一回こっきりその瞬間の場所を知る方法がわかりません。

具体的にはkeyconfigでキーを押した瞬間の
マウスカーソル下の単語を取得したいと思っているので
window.getSelection() みたいな便利なのがあるとなおさら嬉しいんですが。




141 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 06:29:00 ID:e2lwhCfd0]
特定の文字列をリンク先に含むリンクを削除するスクリプトってあるでしょうか?
<a href="hoge.hoge.com/特定の文字列/hoge">リンク</a> を削除するような感じです。



142 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 06:34:54 ID:t1Xgghvv0]
>>141
スクリプトではないですがuserContent.cssである程度は可能です。

143 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 06:57:25 ID:e2lwhCfd0]
>>142
cssでできるんですか。jsで対処しようかと思ってたんですが、その方向も調べてみます。

144 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 07:01:05 ID:t1Xgghvv0]
>>143
参考にどうぞ
firefox.geckodev.org/index.php?usercontent.css%2F%E5%BA%83%E5%91%8A%E3%82%AB%E3%83%83%E3%83%88#t4e27423
www.limy.org/program/web/css/selector.html

145 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 07:21:24 ID:e2lwhCfd0]
>>144
CSSって意外と出来ることが多いんですねえ。
jsのサンプルを前にして途方にくれていたんで数行のCSSで出来るとはびっくりです。
ありがとうございます。

146 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 11:37:44 ID:KzxX4QQp0]
>>138
たいていのことはスクリプト書いたらできる。
MonkeyGesturesようじゃないが下記のURLは参考になる。
ttp://www.xuldev.org/blog/?p=76

147 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 16:20:21 ID:hyZwijKg0]
>>140
仮に何らかの方法でマウス位置の座標を取得できたとしても,
その座標から単語を得ることの方が難しいと思われる。

148 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 16:49:26 ID:c9lZhSzs0]
アリスさんとこのreadLater.uc.jsをkeyconfigで操作するにはどんなコードを書いたら言いですか?便利なだけにもっともっと...ってなってしまう。

149 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 16:50:09 ID:c9lZhSzs0]
アリスさんとこのreadLater.uc.jsをkeyconfigで操作するにはどんなコードを書いたら言いですか?便利なだけにもっともっと...ってなってしまう。

150 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 20:13:51 ID:elAs3as60]
確かにもっともっとだな。



151 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 21:21:05 ID:d5SLea/80]
Restart Firefox(改良版)を使っているのですが
ファイルメニューではなく、コンテキストメニューに表示させるには
どの様にすればよいでしょうか?宜しくお願い致します。
d.hatena.ne.jp/dgdg/20070214/1171472940


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);
}






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

前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