Firefox userChrome.js greasemonkeyスクリプトスレ 9at SOFTWARE
Firefox userChrome.js greasemonkeyスクリプトスレ 9 - 暇つぶし2ch950:名無しさん@お腹いっぱい。
09/09/21 19:20:06 mKpNoeeg0
>>948>>949
GM入れずにuserChromeスクリプトで実現できるものってことよ


951:名無しさん@お腹いっぱい。
09/09/21 19:26:10 yxEniQWUP
Opera版のoAutopagerizeなら少し改造するだけでuserChrome.jsで動かせるらしいが。
userChrome.jsにすることでどのような効果があるのか
また他のAutopagerize対応Scriptと連携できるのか等は知らん

952:名無しさん@お腹いっぱい。
09/09/21 19:32:11 NgRFB13Q0
usercontent.jsだとautopagerizeは動かないんだよな

GMとusercontent.jsってどっちがいいんだ?

953:名無しさん@お腹いっぱい。
09/09/21 19:59:18 B5NnWM+D0
今からなら素直にGreasemonkeyを使う方がいいんじゃないかな。
Firefox 3.5以降はTraceMonkeyのおかげかuserContent.jsとの速度差は無視できるレベル。
俺はuserContent.jsを使っているけど、それは単に惰性。

954:名無しさん@お腹いっぱい。
09/09/21 19:59:41 s+aTqIoA0
usercontent.jsでもちょこっと手を加えりゃ動いたよ
yahooニュースの全文表示とか動かないのもあるけど

955:名無しさん@お腹いっぱい。
09/09/21 20:01:34 mKpNoeeg0
>>952
3.6系以降のやつは少なくとも動かないと思います

>>954
ロダにあげてください。お願いします

956:名無しさん@お腹いっぱい。
09/09/21 20:15:25 s+aTqIoA0
>>954
いやそのロダからヒントというか差分ファイルもらったんだが(0.0.36)

一応0.0.41をそれにならって動くようにはしてみたけど
どういう処理が行われてるとかがサッパリ分かってないから
無責任にはうpできないよこんなもん
そう何日もかかる作業じゃないから頑張って

957:名無しさん@お腹いっぱい。
09/09/21 20:32:52 nE33YQnc0
>>952
function supportsFinalUrl() { return; //リターンを追記するだけ
にするだけで3.5.* 3.6a2pre 3.7a1pre で動く

958:名無しさん@お腹いっぱい。
09/09/21 20:40:47 NgRFB13Q0
>>953 >>957
そうだったのか…
ちょっといい機会だからusercontent.jsとgreasemonkeyを見直すかな
併用してるんだけどこの状態が一番駄目なのかなぁ

959:名無しさん@お腹いっぱい。
09/09/21 20:57:06 mKpNoeeg0
>>957
それって

function supportsFinalUrl() {
return (GM_getResourceURL)
}

の部分と関係ないの?どこに追記するんだ?

960:名無しさん@お腹いっぱい。
09/09/21 20:59:15 nE33YQnc0
>>959
文字通り
function supportsFinalUrl() { return; //リターンを追記するだけ
return (GM_getResourceURL)
}

961:名無しさん@お腹いっぱい。
09/09/21 21:26:02 mKpNoeeg0
>>960
おお。動いたわ。感動だわ。ありがとうございます。
拡張子.user.jsじゃないと動かないってのに気づくのが時間かかった

962:名無しさん@お腹いっぱい。
09/09/22 08:35:44 /Wq/NjrF0
このやり取りを見て userContent で使ってみたが、
使ってた userContent セットの Google Image が効かないな
でもコレを入れたら解決した。他の Script との連携もできる。
URLリンク(furyu.tea-nifty.com)

963:名無しさん@お腹いっぱい。
09/09/22 11:56:10 D5Yghvr80
>>962
それ動かんわorz
せっかくautopagerizeがusercontentでも動いたけど、、、
スキル無いからGMに戻すかな

964:名無しさん@お腹いっぱい。
09/09/22 12:31:48 Cubt+XZS0
>>963
005-apGoogleImageSearch.user.js
010-AutoPagerize.user.js
というように、apGoogleImageSearchをAutoPagerizeよりも先に
実行させるようにしてる?

965:名無しさん@お腹いっぱい。
09/09/22 12:34:00 e1rmqSEw0
userChrome.js→Sub-Script/Overlay Loader→usercontent.uc.js(と付属のスクリプト類0.UCJSToolkit.uc.js、loadmodule-Do_Not_Delete.js?(、userContent.pl.js、GM_modoki.jsl))
と多段になって原因箇所が複雑化するよりはGMでいいんじゃない

966:名無しさん@お腹いっぱい。
09/09/22 12:55:26 D5Yghvr80
>>964

でもそれしてるけど動かん
ちょっと様子見w

967:名無しさん@お腹いっぱい。
09/09/22 14:01:45 G7XQK2Vs0
autopage系みたいな常に動くようなのはGreasemonkeyの方が安定してるし良いと思うけど
グリモンは入れすぎると動作遅くなるからuserContentは分散程度に考えてる

968:名無しさん@お腹いっぱい。
09/09/22 15:11:06 M1/F3MdI0
>>966
AutoPagerize.user.jsにsiteinfoを追加しないと動かないわ
{
url : 'URLリンク(images\\.google\\..+)',
nextLink : 'id("nn")/parent::a',
pageElement : '//table[tbody/tr/td/a[starts-with(@href,"/imgres")]]',
insertBefore : 'id("ImgContent")/following-sibling::node()',
},

969:名無しさん@お腹いっぱい。
09/09/22 15:36:55 2hv6tsQr0
userContentセットの000-apgoogleimagesearchuserj.user消して>>962を入れたら
URLに拡張子がない画像はGreased Lightbox使えなくなった
URLリンク(images.google.co.jp)
上の次のページの右下にあるdozo.matrix.jpの画像など

それと
URLリンク(born1981.g.hatena.ne.jp)
URLリンク(d.hatena.ne.jp)
これでGreased Lightbox 0.18をAutopagerize対応させると
Google画像検索での画像ボックス位置がずれてしまうけど、なんか方法ないの?
そのせいでGoogle画像だけは未だにuserContentセットの0.17modを使ってるんだが・・・

970:名無しさん@お腹いっぱい。
09/09/22 15:44:10 M1/F3MdI0
>>962の方法はちょっと改変しすぎるから他の連携グリモンが動かなくなること必至

971:名無しさん@お腹いっぱい。
09/09/22 15:51:19 M1/F3MdI0
他のスクリプトと連携するために>>957に追記
//if (typeof(window.AutoPagerize) == 'undefined') {
...
//}
のようにコメントアウトしておく必要もある。

972:名無しさん@お腹いっぱい。
09/09/22 18:25:53 yaokMdhx0
>>971
>>957に追記した上で>>968も追記したけど、
apgoogleimagesearchuserjのバージョン0.01e、動かないよ?
fx3.7a1pre userChrome.js0.8 3.0.25mod

973:名無しさん@お腹いっぱい。
09/09/22 18:35:58 yaokMdhx0
>>972
あ、ごめん。

>apgoogleimagesearchuserjのバージョン0.01e、動かないよ?
apgoogleimagesearchuserjのバージョン0.01eと連携してAutopagerizeが動かないです。

ということです。
グーグル画像検索ページの右上に一瞬アイコンが出るんですが、すぐに消えてしまう

974:名無しさん@お腹いっぱい。
09/09/22 18:39:49 M1/F3MdI0
>>972
0.01e改変しすぎ>>970参照

以下で十分なのにね

(function(){
var link=document.evaluate('id("nn")/parent::a',document,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue;
if (link && link.href.match(/\/images\?/)) {
if (link.href.match(/gbv=2/)) {
link.href=link.href.replace(/gbv=2/,'gbv=1');
}
else {
link.href+='&gbv=1';
}
}
})();

975:名無しさん@お腹いっぱい。
09/09/22 18:43:46 enK1+xSU0
>>972
3.7a1pre + userContent.uc.js + AutoPagerize mod + apGoogleImageSearch

これで動いてるよ、どこをどう調整したかは覚えてないけど
って自力で解決する気がないならこんな組み合わせで使っちゃだめだろう…

976:名無しさん@お腹いっぱい。
09/09/22 18:46:32 yaokMdhx0
>>974
0.0.1d消しちゃった・・・(´;ω;`)

977:名無しさん@お腹いっぱい。
09/09/22 21:31:43 /Wq/NjrF0
968と971をやったら userContent セットで動いた。
LDRizeも動くようになった

>>976
974のが0.0.1dだろ

978:名無しさん@お腹いっぱい。
09/09/22 22:47:51 dbj6RnDM0
"リンクもしくは選択文字列もしくは現在のURLをTubePlayerで開く.uc.js"がいつのまにか動かなくなっていたのですが、
皆さんの所では動いていますでしょうか?

下記サイトの"リンクもしくは選択文字列もしくは現在のURLをTubePlayerで開く.uc.js"です。(URLが長くてはれない・・・)
userChrome.js - Mozilla Firefox まとめサイト
URLリンク(firefox.geckodev.org)


具体的には、ニコニコ動画やYoutubeのページで右クリックのコンテキストメニューに「TubePlayerで開く」が追加されるはずなのですが、
追加されません。
どのような原因が考えられますでしょうか?
userChrome.js ではこのスクリプトしか使用していません。

環境:
Mozilla/5.0 (Windows; U; Windows NT 6.0; ja-JP; rv:1.9.0.14) Gecko/2009082707 Firefox/3.0.14 (.NET CLR 3.5.30729)
userChrome.js 0.8
Sub-Script/Overlay Loader v3.0.24mod

979:704
09/09/23 14:16:39 yiLjnAyM0
BingSearchServicePack.uc 作って下さった方、有難う

980:名無しさん@お腹いっぱい。
09/09/23 23:13:10 eQeqkSf20
>>978
23行目の「.getService」を「.createInstance」に。
動かなければ、Alice氏作のIE VIEW Modokiを使ってみそ。

981:名無しさん@お腹いっぱい。
09/09/24 01:24:51 U+vHmCBR0
質問です。
特定の動作したら窓を生成するようなスクリプトを組みたいんですけど。
window.open("url","name","option");っていう形でしか呼び出せないのでしょうか。

というのは、*.uc.xul内で
<overlay id="win_overlay" xmlns="...">
<window id="my_window">
</window>
みたいにwindowを宣言して特定の動作が起きたらその窓を開くっていう風にしたいんです。

window.open("url","name","option");だとurlの部分をどうかけばいいか分からない・・・。
やっぱり、別にwindowの情報が入ったXULファイルを作成して呼び出すしかないんでしょうか。

982:名無しさん@お腹いっぱい。
09/09/24 01:41:11 hfxPMJVw0
>>981
overlayではダメです。

エンコードしてdaraスキームにすればいい。
たとえば, (改行しているのは無視されたい。)
var URL ="data:application/vnd.mozilla.xul+xml,<%3Fxml version%3D"1.0"%3F>%0A
<%3Fxml-stylesheet href%3D"chrome%3A%2F%2Fglobal%2Fskin%2F" type%3D"text%2Fcss"%3F>%0A
<window id%3D"hogehogewindow" xmlns%3D"http%3A%2F%2Fwww.mozilla.org%2Fkeymaster%2Fgatekeeper%2Fthere.is.only.xul">%0A
<label value%3D"Put your XUL here!"%2F>%0A<%2Fwindow>"

こんな感じのurlを作って, 開けばいい。

983:名無しさん@お腹いっぱい。
09/09/24 01:50:53 hfxPMJVw0
>>978
>>980 さんのに追記
ページのどこかをクリックすることでコンテキストメニューに表示されないのは,
gContextMenu.docURL
が定義されてないから。
gContextMenu.target.ownerDocument.location.href
にしておく。

何時からそうなったんだろう。

984:名無しさん@お腹いっぱい。
09/09/24 01:55:22 hfxPMJVw0
>>881
>>982の一番外側のダブルクオテーションはシングルクオテーションにするか, または中のをエスケープしておかないとまずかった。

985:名無しさん@お腹いっぱい。
09/09/24 08:25:11 U+vHmCBR0
>>982
ありがとうございます。
なんとかやってみます。

986:名無しさん@お腹いっぱい。
09/09/24 08:57:31 fwIuGkW/0
>>980 >>983
>>983のdocURLを置き換える方法で上手くいきました!
それだけだと、TubePlayerにURLがわたらないので、
this.docURLも、this.target.ownerDocument.location.href に置き換えた所、無事に起動できるようになりました。
次のレスにパッチ置いておきます
ありがとうございました。

987:名無しさん@お腹いっぱい。
09/09/24 08:58:47 fwIuGkW/0
>>978の修正パッチ
@@ -14,7 +14,7 @@
   cacm.addEventListener('popupshowing', function() {
     mitem.hidden = !re.test(gContextMenu.onLink ?
                    gContextMenu.linkURL : gContextMenu.isContentSelected ?
-                   getBrowserSelection() : gContextMenu.docURL);
+                   getBrowserSelection() : gContextMenu.target.ownerDocument.location.href);
   }, false);
   nsContextMenu.prototype.openTubePlayer = function() {
     var lf = Components.classes['@mozilla.org/file/local;1']
@@ -25,7 +25,8 @@
     proc.init(lf);
     var url = this.onLink ?
               this.linkURL : this.isContentSelected ?
-              'http://' + getBrowserSelection().replace(/^h?ttp:\/\//, '') : this.docURL;
+              'http://' + getBrowserSelection().replace(/^h?ttp:\/\//, '') :
+              this.target.ownerDocument.location.href;
     proc.run(false, [url], 1);
   };
 })(); r

988:978=986=987
09/09/24 09:02:33 fwIuGkW/0
修正したのをまとめサイトにでも上げておきたいのですが、どうすればいいんでしょうか?

とりあえず、ロダに上げておきました。
270.js(リンクもしくは選択文字列もしくは現在のURLをTubePlayerで開く.uc.js) - Firefox用スクリプトアップローダー(新)
URLリンク(loda.jp)

989:名無しさん@お腹いっぱい。
09/09/24 14:42:12 o93NlNZi0
そろそろ次スレを頼む

990:名無しさん@お腹いっぱい。
09/09/24 14:56:22 OVXUnoAu0
次スレ

Firefox userChrome.js greasemonkeyスクリプトスレ10
スレリンク(software板)

991:名無しさん@お腹いっぱい。
09/09/24 15:01:27 jZCH7D570
>>990
乙乙

992:名無しさん@お腹いっぱい。
09/09/24 16:06:34 o93NlNZi0
>>990


993:名無しさん@お腹いっぱい。
09/09/24 16:57:46 U+vHmCBR0
>>990
おつー。

994:名無しさん@お腹いっぱい。
09/09/24 19:14:22 gPvcMV4+0
4Gamer.net ― [TGS 2009]東京ゲームショウ開幕! まずはSCE・平井一夫氏の基調講演がスタート(速報版)
URLリンク(www.4gamer.net)


4gamerの画像リンクを直リンしてくれるような
GreaseMonkeyのスクリプトってありますか?

「Google Images NoFrame link」や、「pixiv direct images link」
みたいな感じの動作をしてくれればなと思っております。

995:名無しさん@お腹いっぱい。
09/09/24 22:17:44 9wav82aI0
(´-`).。oO(もう埋めていいじゃね。?)

996:名無しさん@お腹いっぱい。
09/09/24 22:41:38 aQ1nj3fP0
んじゃ。うめちゃうか・・・・

997:名無しさん@お腹いっぱい。
09/09/24 22:42:21 aQ1nj3fP0
うめうめ。

998:名無しさん@お腹いっぱい。
09/09/24 22:43:02 aQ1nj3fP0
うめー

999:名無しさん@お腹いっぱい。
09/09/24 22:43:12 iqbVyzre0


1000:名無しさん@お腹いっぱい。
09/09/24 22:43:46 aQ1nj3fP0
埋める

1001:1001
Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch