firefox userChrome.j ..
716:初スレの80
08/01/06 23:21:45 Un4EO0jv0
userContent.js の管理ツールを実験的に書いてみた.
UCJSToolkit が同封のじゃないと更新がうまく行かないので,そっちも入れ替えて使ってください.
URLリンク(www6.uploader.jp)
>>629 のスクリプト集の Fake Referrer が何かおかしかったので修正.
{
let Cc = Components.classes;
let Ci = Components.interfaces;
Cc['@mozilla.org/observer-service;1'].getService(Ci.nsIObserverService).addObserver({
observe: function(subject,topic,data){
if(topic != 'http-on-modify-request') return;
var http = subject.QueryInterface(Ci.nsIHttpChannel);
if(http.referrer && http.referrer.host != http.originalURI.host) http.setRequestHeader('Referer',http.originalURI.spec.replace(/[^/]+$/,''),false);
}
},'http-on-modify-request',false);
}
717:名無しさん@お腹いっぱい。
08/01/06 23:30:30 4BGLzDjO0
>>716
乙です。
ローダー0.63 用管理ツールも希望します。
718:名無しさん@お腹いっぱい。
08/01/06 23:40:17 x9PnDa440
>>716
乙です。
Components.classesとかComponents.interfacesとかって
やっぱり変数で1回参照しないとだめなんですか?
719:名無しさん@お腹いっぱい。
08/01/06 23:56:25 4BGLzDjO0
>>718
どうなんだろ,
Fxの場合ブラウザウインドウ内に限定すればCcとかは定義済みだけど,
サイドバーとか他のウインドウ,ダイアログでは必ずしも定義済みとは限らないみたい。
720:初スレの80
08/01/07 00:05:20 0ZkIvCXg0
>>717
現時点でも少し書き換えるだけで対応できるんですが,
もう少し様子を見てから取り掛かりたいと思います.
>>718
そんな事は無いと思うんですが,
場合によっては Components(或いはその下の要素)が null だか undefined だかになって例外を吐くので,
一旦変数なり何なりに入れて置いた方が確実なので,そうしました.
常に Components の中身が保証されると言う事は無さそうです.
721:名無しさん@お腹いっぱい。
08/01/07 00:17:56 jw/+Lses0
DragNgoModoki5なんですが、拡張をD&Dでセーブすると以下のエラーが出てしまいます。
line 666
switch(func.toUpperCase()){
DragNgoModoki4(2007/12/06)では問題ありませんでした。
fx3.0b2にalice氏のローダ(2008/01/06)を使用しています。
722:名無しさん@お腹いっぱい。
08/01/07 00:29:03 7vhg0rj00
>>721
typoと言うかミスです。
お手数ですが, 1048行付近の
this.openURL(aEvent, aDragSession, url,gBrowser.currentURI,ACTION,true);
を
this.openURL(aEvent, aDragSession, url,null,gBrowser.currentURI,ACTION,true);
に直しておいてください。
723:名無しさん@お腹いっぱい。
08/01/07 00:30:11 mHdv+nUi0
>>719-720
ありがとうございます。なにか作るときには気をつけることにします。
80氏ので初めてletを知ったんですけど便利ですね。
あと管理ツールの動作が確認できました。乙です。
724:名無しさん@お腹いっぱい。
08/01/07 01:27:03 udDwHRNN0
>>716
お疲れさまです。Firefox/2.0.0.11、Firefox/3.0b2で動作確認しました。
ucojsManager.uc.jsはSaeMonkey 1.1.7にも対応していますか?
725:名無しさん@お腹いっぱい。
08/01/07 01:42:07 CLCtUbbC0
>>722
動作確認しました。
遅くに有難うございました。
726:名無しさん@お腹いっぱい。
08/01/07 05:37:18 2rV8Cvm20
alice氏のexpandsidebar.uc.jsを使用していて、右側にサイドバーを移動させているのですが
縦スクロールバーを掴んで移動させている間は自動開閉しないように設定することは可能でしょうか?
727:名無しさん@お腹いっぱい。
08/01/07 08:33:14 7vhg0rj00
>>726
直しておきました。
適当に直していただいて結構ですよ。 報告も不要ですし。
728:名無しさん@お腹いっぱい。
08/01/07 09:14:56 2rV8Cvm20
>>727
素早い対応ありがとうございました。
729:名無しさん@お腹いっぱい。
08/01/07 09:54:53 7LDwFMTr0
Google Image Relinker with Mouseoverと
Pagerizationを組み合わせて
Firefox/2.0.0.11で使用しているのですが
イメージ検索の2ページ目以降で
画像の拡大が出来ないので
解決方法を教えていただけないでしょうか?
730:名無しさん@お腹いっぱい。
08/01/07 23:32:04 7vhg0rj00
Pagerizationは気持ち悪いので...
うpろーだNo.69のgoogleimagesautopagerで動くかな
URLリンク(www6.uploader.jp)
731:名無しさん@お腹いっぱい。
08/01/08 04:01:57 vn4//SU10
customizegoogleを使ってるのですが、次へを押さずに次のページを見るスクリプトはありますか?
グリースであったような気がするけど入れたくないし、高望みするとgoogleimageで次へを押さずに次のページを見るスクリプトもあれば教えてほしいです。
732:名無しさん@お腹いっぱい。
08/01/08 04:50:09 fRK+FYwE0
>>731
一つ上が読めるかな?
733:名無しさん@お腹いっぱい。
08/01/08 11:22:16 vn4//SU10
>>732
読んでませんでしたスミマセンorz
しかし動かない…自分のやり方が悪いんだろうが、全くわからん
ROMって勉強してくる
734:名無しさん@お腹いっぱい。
08/01/08 14:39:12 /c7EAdZZ0
まずGreasemonkey
それが慣れたらuserChrome.js
十分いけるようになったらuserContent.jsとか試したらいいよ。
はじめてAutoPagerize入れたときの感動がFirefox一択にさせた。
735:名無しさん@お腹いっぱい。
08/01/08 16:16:36 eLdF5aOp0
aliceさん、ucjs_findbaのSearchWP2.0b2対応
よろしくお願いいたします。
736:名無しさん@お腹いっぱい。
08/01/08 16:20:40 MbPb37qD0
ここはもう某氏作成スクリプトのサポートセンター化してるな
737:名無しさん@お腹いっぱい。
08/01/08 17:09:12 jTzikOyu0
Autopagerize 0.0.19+firefox 2.0.0.11、グリモンでもusercontent.jsでも
FORCE_TARGET_WINDOW = trueが機能しないけど、どこがまずいのだろ?
738:名無しさん@お腹いっぱい。
08/01/08 18:45:04 ZAkEL/CR0
ITmedia のサムネの拡大画像(?)を快適に見るスクリプトって無いでしょうか。
(画像だからどこでもLightboxでいけるかと思いきや、よく考えたらリンク先は
画像じゃなくてHTMLページでしたorz)
739:名無しさん@お腹いっぱい。
08/01/08 18:56:50 oF1VeciN0
aliceローダ, DragNgoModoki5.uc.js で以下のメッセージでNTF/NTB, 画像Saveできません。
セキュリティエラー: [URL] のコンテンツが file:///C:/Users/[ユーザ名]/AppData/Local/Temp/画像ファイル を
読み込みまたはリンクすることは禁止されています。
//画像
IMAGE["U"]= ["NTF" , ""];
IMAGE["D"]= ["NTB", "SF0"];
Mozilla/5.0 (Windows; U; Windows NT 6.0; ja; rv:1.8.1.12pre) Gecko/20071230 BonEcho/2.0.0.12pre (ayakawa SSE2-PGU)
740:名無しさん@お腹いっぱい。
08/01/08 19:30:46 3BMsOaLU0
>>739
そのエラーはdragDropSecurityCheck ではじかれているので正常動作です。
画像をキャッシュ参照にした際の, 退行バグ。
以下の通り修正ください。
if (this.imageLinkRegExp.test(url) || /^image\//i.test(contentType)){
var kind = (this.locale=="en")?'image':'画像';
var DIR = this.IMAGE;
を
if (this.imageLinkRegExp.test(url) || /^image\//i.test(contentType)){
url = (this.dataRegExp.test(urlFromData))?RegExp.$1:null;
var kind = (this.locale=="en")?'image':'画像';
var DIR = this.IMAGE;
にする。 さすれば, 実url参照になりdragDropSecurityCheckを通過できるようになります。
面倒をおかけしまして申し訳ありません。
自分で使うぶんには不具合があればその都度直すだけだが, 殆ど使わない機能のテストはつくづく難しい。
741:名無しさん@お腹いっぱい。
08/01/08 19:34:10 oF1VeciN0
>>740
大変ありがとうございました。
742:名無しさん@お腹いっぱい。
08/01/08 20:26:21 SQqgqp7/0
Unsafe Google Suggestion ? Userscripts.org
URLリンク(userscripts.org)
このグリモンスクリプトいつの間にか使えなくなってたんだけど、他の人使えてますか?
743:名無しさん@お腹いっぱい。
08/01/08 20:30:51 3BMsOaLU0
>>741
コンテントタイプの取得が上手くいかくなるので 以下の通り「再修正」ください。
//image link or link
var DIR = null;
url = (this.dataRegExp.test(urlFromData))?RegExp.$1:null;
var contentType = this.getContentType(url);
if (this.imageLinkRegExp.test(url) || /^image\//i.test(contentType)){
var kind = (this.locale=="en")?'image':'画像';
var DIR = this.IMAGE;
744:名無しさん@お腹いっぱい。
08/01/08 20:56:42 3BMsOaLU0
>>742
Unsafe Google Suggestion 気持ち悪いので,
以下のでいいのでは?
URLリンク(www.google.co.jp)
745:名無しさん@お腹いっぱい。
08/01/08 21:15:03 MgoZ26Do0
>>742
Googleサジェストの仕様が変わったんじゃないかな?
拡張のCustomizeGoogleでもサジェストが効かなくなってるし、吐かれるエラーも同じ。
746:名無しさん@お腹いっぱい。
08/01/08 21:36:21 SQqgqp7/0
>>744-745
ありがとうございます。仕様が変わったんですか。
他のツール類での検索が普通のグーグルにURLを渡していたので、設定変えるのもめんどくさいかな、と思ってこれ使ってました。
>>744さんの言う通り本家でいくことにします。
747:名無しさん@お腹いっぱい。
08/01/08 22:31:11 oF1VeciN0
>>743
動作確認しました。重ねてありがとうございます。
748:名無しさん@お腹いっぱい。
08/01/09 00:56:42 XMqmVGxu0
>>73
ありがとうございます。
No.69と102を同時に入れたのですがこれでいいのでしょうか?
googleimagesautopagerは作動するのですが
マウスオーバーしても画像が大きくなりません。
749:名無しさん@お腹いっぱい。
08/01/09 00:57:38 XMqmVGxu0
↑
73ではなく
>>730
です。すいません。
750:名無しさん@お腹いっぱい。
08/01/09 01:35:46 XMqmVGxu0
マウスオーバーもダイレクトリンクも使えるようになりました。
ただ、やはり2ページ目の画像はマウスオーバーもダイレクトリンクも
作動しませんでした。
751:名無しさん@お腹いっぱい。
08/01/09 07:42:26 HHGrEnqf0
>>750
マウスオーバーとダイレクトリンクは同時に使えません。
No69のgoogleimagesautopager.user.js
No69のgoogleimagedirectlinks.user.js
または
No69のgoogleimagesautopager.user.js
No102のgoogleimagerelinkerwithm.user.js
の組み合わせを試す。
かつ
googleimagesautopager.user.jsが先に実行されるようにしなければならない。
752:名無しさん@お腹いっぱい。
08/01/09 10:15:28 RHconT/q0
Aliceさん、
URLリンク(space.geocities.jp)
の50行目って
(gFindBar, "anonid", "find-next").valueじゃなくて
(gFindBar, "anonid", "findbar-textbox").valueじゃないですかね?
こう変えたら動くようになったですよ。
753:名無しさん@お腹いっぱい。
08/01/09 14:48:01 j8W+iRpZ0
>>752
URL先には50行目にそんなの無いような気がする
754:名無しさん@お腹いっぱい。
08/01/09 21:05:55 HHGrEnqf0
>>753
>>752で動かないと言うことでしたので, 久々に見てみたらその通りであった。
ついでにb3preでの不具合などもあったので直してみた。
これもまた, お蔵入りしているスクリプトなもので, 検証不足な部分も多々あるかと思います。
いずれにしても, 不具合報告やアドバイスいただけることは, ありがたいことです。
755:名無しさん@お腹いっぱい。
08/01/09 22:43:22 XMqmVGxu0
>>751
マウスオーバーとオートページャー(この読みでイイのか・・・?)
は同時に使えないのですか?
オートページャーで表示された2ページ目以降をの
画像をマウスオーバーでPOPUPさせたいのですが・・・
756:名無しさん@お腹いっぱい。
08/01/09 22:56:14 DWepjOBZ0
Auto pagerize で追加されたページには Greasemonkey スクリプトは効かない。
757:名無しさん@お腹いっぱい。
08/01/09 23:07:44 lJNB+0ex0
それが不満でproxomitronを使うようになった。
758:名無しさん@お腹いっぱい。
08/01/10 00:23:06 bcekFlti0
普通、AutoPagerizeで追加されたページにはGreasemonkeyスクリプトは効かない。
が、window.AutoPagerize.addFilterに関数を登録したら、AutoPagerizeが継ぎ足しするときに実行してくれる。
JavaScriptを書かにゃならんのだけれど、やってるグリモンはいくつかあるから参考にすればできるかも…。
759:名無しさん@お腹いっぱい。
08/01/10 05:55:01 csbCMB+W0
URLリンク(space.geocities.yahoo.co.jp)
これを使いたいのですが、ノートPCなので中クリックができません。
なにかいい方法はありませんか?
760:名無しさん@お腹いっぱい。
08/01/10 06:31:30 0TL8YAsx0
ノートはモノによっては左右同時クリックで中クリックになった気がする
761:名無しさん@お腹いっぱい。
08/01/10 07:48:01 N5Te/Ad20
>>756-758
やれば出来そうなんでしょうが
難しそうですね。
今の僕には出来そうにないです。
ありがとう。
762:名無しさん@お腹いっぱい。
08/01/10 10:17:23 CDkmmQ7z0
>>761
マウスを使えば良いじゃん。
763:名無しさん@お腹いっぱい。
08/01/10 10:22:40 GZ8auvf50
>>762
安価をよく見るんだ
764:名無しさん@お腹いっぱい。
08/01/10 10:51:32 CDkmmQ7z0
>>763
ごめんなさい。>>759だった。
765:名無しさん@お腹いっぱい。
08/01/10 11:46:36 GZ8auvf50
>>764
あぁスマン、てっきり>>761の安価先を見間違えたのかと
766:名無しさん@お腹いっぱい。
08/01/10 11:50:52 Jkg0HC1v0
>>762-765
ややこしっ!?
767:名無しさん@お腹いっぱい。
08/01/10 11:54:40 4y+zfh4L0
>>762-765
えーと、つまりどういうこと?
768:762
08/01/10 11:59:52 CDkmmQ7z0
>>759
> URLリンク(space.geocities.yahoo.co.jp)
> これを使いたいのですが、ノートPCなので中クリックができません。
> なにかいい方法はありませんか?
マウスを使えば良いじゃん。
いろいろスレ汚しすみません。アンカ間違えた私が悪かったです。
ほんとにレス自体はくだらないことなので見逃してください。
769:名無しさん@お腹いっぱい。
08/01/10 12:03:50 4y+zfh4L0
俺のは便乗した冗談だから気にすんな
770:名無しさん@お腹いっぱい。
08/01/10 12:49:35 Jkg0HC1v0
>>759
shift+Pでもポップアップするようにしておきました。
771:名無しさん@お腹いっぱい。
08/01/10 18:20:20 csbCMB+W0
>>770
ありがとうございます。ちゃんと動作しました。
772:名無しさん@お腹いっぱい。
08/01/10 18:59:19 aYY8XLFw0
Greasemonkeyで質問なんですが、withでスコープチェーンに追加するやり方は
最適化が難しく、実行速度の低下を招くと知りましたが、現在Firefoxに搭載されている
実行環境でもそれほど如実に差が出るものなのでしょうか。
正直LDR用のGreasemonkeyを考えていると、ついwith(unsafewindow)としたくなるので
それほど関係がないのならそのままでもいいかと思っているのですがどうでしょうか。
773:名無しさん@お腹いっぱい。
08/01/10 20:01:29 Jkg0HC1v0
>>772
ものによるみたい。
URLリンク(developer.mozilla.org)
774:名無しさん@お腹いっぱい。
08/01/10 22:53:15 oB1wswe+0
アップローダーにあったusrChrome.jsの詰め合わせの中の Fake Refferer で
メモリリークが起きてしまうんだけど、直し方がわからない。
Javascriptでポップアップしたウィンドウを閉じる場合にだけ漏れるみたい。
以下のページの画像のポップアップとか。
URLリンク(www.phileweb.com)
775:名無しさん@お腹いっぱい。
08/01/10 22:55:51 sKBHJ9ah0
>>774
メモリリーク?
漏れる?
どういう関係が。
776:名無しさん@お腹いっぱい。
08/01/10 23:03:02 Jkg0HC1v0
>>774
removeObserverすればいいんじゃない?
777:名無しさん@お腹いっぱい。
08/01/11 00:34:27 ejFUHJfI0
>>773
ありがとうございます。
むずかしいところですね。withを使うか検討してみます。
778:名無しさん@お腹いっぱい。
08/01/11 13:59:17 dLGBKUFw0
userContent.uc.jsと0.UCJSToolkit.uc.jsをchromeフォルダにいれ、contentフォルダにYoutubeDLを試しに入れてみましたが動かない
YoutubeDLはuserContent.uc.jsの付属についているので、れあどめも見てみたけどわからない…
googleで調べても、解決方法が見つからなかったので分かる人教えてorz
779:名無しさん@お腹いっぱい。
08/01/11 14:31:47 aZeII8yg0
>>778
ローダによってやり方は違うけど、
userContent.uc.js(Ver.1.2以降) は javascript 1.7 として読み込まなければダメ。
例えば:
Alice0775氏のならデフォルトでは chrome の中に UCJSFiles
80氏のなら chrome の中に userContent.UCJS フォルダを作ってそこに、
content フォルダはその中に作る。
780:名無しさん@お腹いっぱい。
08/01/11 14:50:16 dLGBKUFw0
>>779
できませんでしたorz
ためしにGoogleAutoPagerをGMでやってみたら使えないので、多分他の何かが悪いのかな…
781:名無しさん@お腹いっぱい。
08/01/11 15:32:31 eLTapuKY0
Youtubeの仕様変更で使えなくなってる可能性もある
782:名無しさん@お腹いっぱい。
08/01/11 15:43:49 oL8Fcbau0
使えるので,Youtubeの仕様は変更されていないみたい。
783:名無しさん@お腹いっぱい。
08/01/11 17:18:53 UkGUvjz10
>>683
0.9.2リリース。
これで大丈夫…だと思います。
OSXは無いので試せないけど2では動いて、3では動かないようなので同じ症状だと思いますし。
784:名無しさん@お腹いっぱい。
08/01/11 17:27:54 1lf29HGb0
>>779
userContent.uc.jsってUCJS Loader方式で適用しなきゃいけなかったんだ。知らなかった…orz
今の今までuserContent.ucフォルダから読み込ませてたよ…
785:名無しさん@お腹いっぱい。
08/01/11 17:33:01 oL8Fcbau0
別にucでもucjsでもどちらでも動くよ
786:名無しさん@お腹いっぱい。
08/01/11 18:05:00 Vc5/RvWE0
>>783
うちでは前のバージョン(0.9.1)では検索バーでは動作(SearchWPでは動かない)するのが、
バージョン上げたら動かなくなりました。黄色くはなるんですが……
Mac OS X の3β2です。
787:名無しさん@お腹いっぱい。
08/01/11 18:59:59 oL8Fcbau0
>>735
URLリンク(space.geocities.jp)
バインディングされた匿名要素に簡単にはアクセスできないので,
拡張機能の方にucjs_findbar.uc.jsを呼び出すようにパッチを当てたものです。
788:名無しさん@お腹いっぱい。
08/01/11 21:05:07 +x3XkF3Z0
735です。
なんか気軽にめんどくさいことをお願いしたみたいでお手間かけました。
とっても快適です。ありがとうございました。
789:名無しさん@お腹いっぱい。
08/01/11 22:23:54 rMi5hqgi0
>>786
Macは無いのでテストできないです……。
念の為に入れてる377行と420行をコメントアウトして動作させ、出てきたエラーを教えて下さい。
790:初スレの80
08/01/12 00:05:11 ccdJCkb90
>>774
新しいwindowが開く度にaddObserverにてオブザーバの登録がされてしまうと言うバグです.
完璧じゃないけど取り合えず直しました.
(function(){
let Cc = Components.classes;
let Ci = Components.interfaces;
let list = Cc['@mozilla.org/appshell/window-mediator;1'].getService(Ci.nsIWindowMediator).getEnumerator('navigator:browser');
while(list.hasMoreElements()){ if(list.getNext() != window) return; }
Cc['@mozilla.org/observer-service;1'].getService(Ci.nsIObserverService).addObserver({
observe: function(subject,topic,data){
if(topic != 'http-on-modify-request') return;
var http = subject.QueryInterface(Ci.nsIHttpChannel);
if(http.referrer && http.referrer.host != http.originalURI.host) http.setRequestHeader('Referer',http.originalURI.spec.replace(/[^/]+$/,''),false);
}
},'http-on-modify-request',false);
})();
791:名無しさん@お腹いっぱい。
08/01/12 00:32:47 xCtxK7u00
>>790
乙です
792:名無しさん@お腹いっぱい。
08/01/12 01:04:49 6agJl5pa0
>>786
0.9.3リリース
try catchで0.9.1の方法と0.9.2の方法両方でgFindBarの書き換えを行ってみた。
如何せん汚いのでそのうちどうにかしたい…。
あとSearchWP2.0b2に対応。1.0で動かないのだったら…調査します。使ってないからノーチェックでしたし。
793:名無しさん@お腹いっぱい。
08/01/12 07:49:04 JElMOvgr0
>>790
無名関数にするのはなんでなんなんだろう?
returnが機能しないから?
794:名無しさん@お腹いっぱい。
08/01/12 16:34:21 ajD3pbxU0
80氏のuserContent.jsの管理ツール、trunkで使えている方いらっしゃいますか?
80氏のローダで入れてみてるのですが、管理ウィンドウが立ちあがってこない…
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9b3pre) Gecko/2008011105 Minefield/3.0b3pre
795:名無しさん@お腹いっぱい。
08/01/12 18:51:20 OFRX8Jsu0
無名関数にして実行させるためでは?
796:初スレの80
08/01/12 23:03:35 7KSCZIT20
>>793
そうです.
gotoが在ればgotoを使いたかったけど無いし,try-catch使って例外投げるのも大げさだし,
ループの中にループと関係ない処理書くのは嫌だし,フラグ設定して後で判別と言うのも二度手間だし.
とか,うだうだ考えてそうしました.
>>794
あまりよく確認はしてませんが,動くはずです.
何かエラーや警告は出ていませんか?
797:名無しさん@お腹いっぱい。
08/01/12 23:55:54 30l+1aCa0
ローダーとか仕様がいくつもあって2.0や3.0もあって
複雑化してきたね
798:名無しさん@お腹いっぱい。
08/01/13 00:14:21 9A16eXdY0
確かに。一番オーソドックスな組み合わせは何なの?
799:名無しさん@お腹いっぱい。
08/01/13 00:46:15 N5BDNl9D0
オーソドックスと言えば
Firefox2.0.0.11
userCrome.js ver0.8 + Sub-Script/Overlay Loader v3.0
GreaseMonkey ver0.7.20070607
JavascriptActions ver2.3.0.2007010501
800:794
08/01/13 00:51:35 kLjk8IWR0
>>796
レスありがとうございます。
それがエラー、警告ともに出てないのです。BonEcho/2.0.0.12preの方だと、全く同じプロファイル構成できちんと
ウィンドウが出てくるのですが…
ローダーのバージョンは0.63で、chromeフォルダに0.UCJSToolkit.uc.jsを、サブフォルダuserContent.ucに
ucojsManager.uc.jsおよびucojsInstaller.xul、ucojsManager.xulを入れてあります。(userContent.uc.js関連も
この同じサブフォルダにまとめてあります。)UCJSToolkitは管理ツールに同封されていたものに置き換えてあります。
せっかくレスしていただいたのになんの情報も出せなくて申し訳ありません。もう少しいろいろ様子を見てみようと
思います。
801:名無しさん@お腹いっぱい。
08/01/13 01:07:42 9A16eXdY0
Sub-Script/XUL LoaderとSub-Script/Overlay Loaderの違いは何?
802:名無しさん@お腹いっぱい。
08/01/13 01:37:11 74dJ1Nzn0
0.7用と0.8用
803:名無しさん@お腹いっぱい。
08/01/13 03:15:37 74dJ1Nzn0
>>800
XULのエラーを表示させる方法。
user_pref("javascript.options.strict", true);
user_pref("javascript.options.showInConsole", true);
80氏じゃないけれど
if(!userContent) let timer =
を
if(!userContent) var timer =
にする
804:793
08/01/13 03:27:54 UQ8Ve56L0
>>796
これって新しくwindowができて2つ以上になったときには新規にObserverを登録しないって
いう感じに考えてたんで、新しいwindowでは監視されないのかなって思ってたけど、
一回登録済みだから適用されるのか。
removeObserverで取り除くと両方とも除かれちゃうからだめなのかな。
いろいろ勉強になりました。
805:803
08/01/13 03:29:41 74dJ1Nzn0
let を使うとすれば
if(!userContent) let timer = setInterval(function(){ userContent = chromeWindow.userContent_js; if(userContent) clearInterval(timer); },10);
を
if(!userContent){ let timer = setInterval(function(){ userContent = chromeWindow.userContent_js; if(userContent) clearInterval(timer); },10); }
にする
806:803
08/01/13 03:33:12 74dJ1Nzn0
>>804
参考
URLリンク(developer.mozilla.org) によると
「http-on-modify-request オブザーバは、アプリケーションごとに 1 つしか登録する必要はありません (ウィンドウごとに 1 つではありません)。つまり、オブザーバの実装はオーバーレイではなく XPCOM コンポーネントに置くべきです。」
と言うことみたいです。
807:名無しさん@お腹いっぱい。
08/01/13 03:46:08 UQ8Ve56L0
>>806
ありがとうございます。
なぜFirefoxのアプリケーションを終了させるまでに一度しかObserver登録を
行わせないようにするか納得できました。
あと、初歩的な質問で申し訳ないのですが、FirefoxのWindowの破棄はwindowのunloadイベント
で取得することができるのでしょうか。
808:名無しさん@お腹いっぱい。
08/01/13 04:24:02 EY3MrhaY0
>>796
let使うんだったら↓でいいんじゃないの?
fakeReferer: {
...
while(...){ if(...) break fakeReferer; }
...
}
809:名無しさん@お腹いっぱい。
08/01/13 11:49:12 kLjk8IWR0
>>803
どうもありがとうございます。
ご指摘のとおり、XULのエラーを表示させるようにしてませんでした。
エラーの箇所は、これまたご指摘のとおり、38行目(辺り)のif(!userContent) let timer・・・で
書いていただいたコードに変えてみたところ編集ウィンドウが立ちあがってきました。
なにからなにまでありがとうございました。
810:初スレの80
08/01/13 17:23:39 zSwwi+Vt0
>>805
うっかりしてました.今まで何で動いていたのか不思議です.
>>808
javascriptの勉強をいい加減にしかしていなかったので,
そんな事が出来るなんて今初めて知りました.
ちゃんと基本を学んでおかないと駄目ですね.
811:名無しさん@お腹いっぱい。
08/01/13 17:35:13 74dJ1Nzn0
>>810
Bug 408957 ? let declaration must be direct child of block, top-level implicit block, or switch body block
がtrunkに反映されたためと思う。 Fx2へは未反映のようです。
812:名無しさん@お腹いっぱい。
08/01/14 08:56:24 D14ly0Yc0
博識な皆様に質問なのですが、userChrome.js で about:config の値を変更させるにはどういうスクリプトを書いたらいいのでしょうか?
813:名無しさん@お腹いっぱい。
08/01/14 12:52:16 Pdazjww70
>>812
URLリンク(developer.mozilla.org)
814:名無しさん@お腹いっぱい。
08/01/14 14:52:56 EzFdKVeB0
ブックマークのフォルダを常にアクティブなフォルダのみ開いて、他は閉じるuserChrome.jsのスクリプトはありますか?
815:名無しさん@お腹いっぱい。
08/01/14 14:55:49 Pdazjww70
>>814
いろいろある。
まとめサイトにリンクされている。
また別のものがこのスレもしくは過去スレにもあった。
816:名無しさん@お腹いっぱい。
08/01/14 22:40:27 S5CXYP++0
現在LDRのGreasemonkeyを書いていて、GM_xmlhttpRequest
で外部からtextを取得しているのですが、LDRの文字コードがutf-8で
外部ファイルがshift_jisのため文字化けが起こってしまいます。
一般的にはphpやperlで行うようですが、何とかファイルの文字コード変換まで
全てGreasemonkey内で終わらせたいのですがどうすれば文字コードの変換ができるのでしょうか。
817:名無しさん@お腹いっぱい。
08/01/14 22:55:43 D14ly0Yc0
>>813
ありがとうございます。
ゆっくり読んでみます
818:名無しさん@お腹いっぱい。
08/01/14 23:15:31 g1xEAfqk0
誰か Auto Copy の文字列選択時に自動でクリップボードにコピーする機能だけ移植してください by ドザ
819:名無しさん@お腹いっぱい。
08/01/14 23:20:05 dnmLtJ/r0
>>818
移植したよ!
about:cofig
から
clipboard.autocopyをtrueにするだけ!
820:名無しさん@お腹いっぱい。
08/01/14 23:23:27 g1xEAfqk0
>>819
いやそれって UNIX 系 OS だけでしょ?
821:名無しさん@お腹いっぱい。
08/01/15 00:06:31 sS3Fb4Vx0
>>816
試してないけど,GM_xmlhttpRequestするときにoverrideMimeTypeで
charsetを指定すればいいかも
autopagerize.user.jsとか参考に
822:名無しさん@お腹いっぱい。
08/01/15 00:37:05 rY98Szrx0
>>821
ばっちりでした。
ただ唯一心残りなのは document.characterSet のような感じで
取得先の文字コードを動的に取得できないことでしょうか。
AutoPagerizeの場合は取得先が同一ドメインであり、現在のページと
同じ文字コードであると見てほぼ間違いないのでdocument.characterSet
で調べればいいのでしょうが、別だとあらかじめ指示しておく他ないようですね。
なんとか無事に文字化けせずに表示できてありがたいです。
823:名無しさん@お腹いっぱい。
08/01/15 00:46:22 b0VfV8lW0
>>818
URLリンク(www6.uploader.jp)
824:名無しさん@お腹いっぱい。
08/01/15 00:52:42 LFo7jl380
>>823
Alice さんありがとう!!
825:はまつまめ
08/01/17 09:39:02 WFe7L16W0
Mozilla Firefox 快適にチューンスレよ。@
スレリンク(win板)
826:名無しさん@お腹いっぱい。
08/01/17 11:09:36 cqs4xKzQ0
タブ上の中クリックに「他のタブを全て閉じる」を当てはめています。
これを、選択中のタブを中クリックした時には「全てのタブを閉じる」ようにしたいのですが
どうすればいいでしょうか。
827:名無しさん@お腹いっぱい。
08/01/17 11:28:36 8MS6PBV20
お客様の中にエスパーはいらっしゃいませんかー?
828:名無しさん@お腹いっぱい。
08/01/17 11:36:35 Cq+kl+XB0
エスパーはいらっしゃいませんかー?
829:名無しさん@お腹いっぱい。
08/01/17 11:45:58 u+ndFFNq0
「他のタブを閉じる」ってのは選択中のタブ以外を消すのに、
同じく選択中のタブを中クリックで「全てのタブを閉じる」って、無理じゃね?
830:名無しさん@お腹いっぱい。
08/01/17 11:50:50 Df1gUboV0
「他のタブを閉じる」というのは,
A.非選択タブを中クリックしたときはそのタブ以外を閉じて, そのタブを選択する。
B.選択中のタブを中クリックしたときはそのタブ以外を閉じる。
と言うことと思われるので,
要望は,
Bの動作を, 選択中のタブを中クリックしたときは全部のタブを閉じる。
にしたいと言うことで可能ですね。
831:名無しさん@お腹いっぱい。
08/01/17 12:05:55 5ZnMmt+g0
832:名無しさん@お腹いっぱい。
08/01/17 12:13:56 cqs4xKzQ0
>>827,828,829
すいません、説明ベタなもので(´;ω;`)ウッ
>>830
代弁して下さってありがとうございます。
要望はまさしくそれです。
firefox2の時は以下のスクリプトで希望の動作が出来ていたのですが
3.0b3では中々希望通りの動作にならずここに書き込みさせて頂きました。
gBrowser.mTabContainer.addEventListener("click", function(e){
if (e.target.localName == "tab" && e.button == 1){
var browser=getBrowser();
browser.removeAllTabsBut(browser.mCurrentTab);
}
},true);
833:名無しさん@お腹いっぱい。
08/01/17 12:39:52 JGZiIt710
だから, 動作Aと動作Bを場合分けしないとね.
834:名無しさん@お腹いっぱい。
08/01/17 17:18:25 WCkSBvG20
>>826
ウィンドウのxをクリックじゃだめなの?( ゚д゚)
835:名無しさん@お腹いっぱい。
08/01/17 18:46:27 vJv1NYIm0
スレリンク(software板:434番)
このレスしてるのこのスレの人なんでしょ?わかってるんだから
> FxのuserChrome.js等で, windowのloadイベントをトリガーにしてnsIWindowMediatorにてbrowserウインドウが自分以外に既にあれば自分自身を閉じる, と言うことをするだけ
のスクリプトを作ってくださいm(_ _)m
836:名無しさん@お腹いっぱい。
08/01/17 18:59:51 JGZiIt710
後は何なりと
(function(){
const nsIAppStartup = Components.interfaces.nsIAppStartup;
var mediator = Components.classes["@mozilla.org/appshell/window-mediator;1"]
.getService(Components.interfaces.nsIWindowMediator);
var windowType = "navigator:browser";
var enumerator = mediator.getEnumerator(windowType);
var flg = false;
while(enumerator.hasMoreElements()) {
var win = enumerator.getNext();
if(window != win) flg = true;
}
if(flg){
window.close();
}
})();
837:名無しさん@お腹いっぱい。
08/01/17 19:19:08 QvY/DS9+0
URLリンク(d.hatena.ne.jp)
ここのスクリプトのAutopagerize対応版きぼん
838:名無しさん@お腹いっぱい。
08/01/17 19:26:56 JGZiIt710
それ役に立つの?
839:名無しさん@お腹いっぱい。
08/01/17 19:27:55 u+ndFFNq0
見た目も大事だろ
840:名無しさん@お腹いっぱい。
08/01/17 20:32:02 8MS6PBV20
>>837
Google版ならあるけどはてブは見たことない。
URLリンク(userscripts.org)
841:名無しさん@お腹いっぱい。
08/01/17 21:28:34 4Vk+t8cd0
>>837
それぐらい自分でやれ
842:名無しさん@お腹いっぱい。
08/01/17 21:49:51 6HV+wg+i0
>>833
ということは、2つの場合のスクリプトを書かないといけないという事よね?
もしよかったらヒント頂けないでしょうか。お願いします。
>>834
タブの上で作業を完結させたくて・・。
843:名無しさん@お腹いっぱい。
08/01/17 21:52:32 6HV+wg+i0
×書かないといけないという事よね?
○書かないといけないという事ですよね?
タイプミスすいませんorz
844:名無しさん@お腹いっぱい。
08/01/17 21:56:20 jGrUMxz10
UserAgentを自動で変更する。
URLリンク(www6.uploader.jp)
80氏のものとAutoPagerizeを参考にしました。ありがとうございます。
845:名無しさん@お腹いっぱい。
08/01/17 23:48:27 I6VJ3NY20
しかし、いろんな使い方する人もいるもんだ。
846:名無しさん@お腹いっぱい。
08/01/18 08:32:50 Ecebkq5H0
>>841
JavaScriptやったことなくて分かんなかったから、オライリーの「入門JavaScript」っていう本買ってきたよ。
GreasemonkeyのGM_ほげほげっていう関数の説明ってどこにのってる?
847:名無しさん@お腹いっぱい。
08/01/18 08:39:05 6ZikQS9S0
>>846
greasemonkeyの独自関数だからどこにも載ってないよ。
ぐぐって探すか、本が欲しいならこれ買えば?
URLリンク(www.shuwasystem.co.jp)
848:名無しさん@お腹いっぱい。
08/01/18 09:01:25 Ecebkq5H0
>>847
GM_modoki.jslの中身見ながらがんばることにした。thx。
849:名無しさん@お腹いっぱい。
08/01/18 13:27:15 XNznSr8o0
URLリンク(wiki.greasespot.net)
850:名無しさん@お腹いっぱい。
08/01/18 21:29:29 Ban0Yvgl0
>>836
二重起動させようとしたら従来通り以下のようなダイアログが出るだけでアクティブにならなかったです
Firefox is already running, but is not responding. To open a new window, you must first close the existing Firefox process, or restart your system.
ポータブル版だからダメなのかな
でも作ってくれてどうもありがとう
851:名無しさん@お腹いっぱい。
08/01/18 21:34:31 i9TIOFWO0
>>850
情報後出しか?
852:名無しさん@お腹いっぱい。
08/01/18 21:50:53 EFtU1npM0
>>850
そのメッセージはfirefox.exeが出してるからPortableは関係ないと思うけど。
853:名無しさん@お腹いっぱい。
08/01/18 21:55:03 6MFXbEKC0
そろそろβ3がでるんじゃないかな
また複雑化しそうな予感w
854:名無しさん@お腹いっぱい。
08/01/18 22:10:00 i9TIOFWO0
>>850
Mozilla Firefox, Portable Edition 2.0.0.11で試したがそんなエラーメッセージ出ませんよ。
起動時のコマンドラインオプションか, FirefoxPortable.ini の設定がおかしいのではないですか?
855:名無しさん@お腹いっぱい。
08/01/18 22:17:38 VOnODOFx0
>>850
そんなの出んよ?ただ元の質問を見ると
> すでに起動しているFirefoxをアクティブにすることはできますか?
らしいけどアクティブにもならんけど
856:名無しさん@お腹いっぱい。
08/01/18 22:29:28 1hzs22Gh0
firefox portable の存在意義が分からん
firefox -profile PROFILE で何がいかんの?
857:名無しさん@お腹いっぱい。
08/01/18 22:30:25 qpXomkqf0
URLリンク(userscripts.org)
このスクリプトをuserChrome.jsで動かすには
どうしたらいいんでしょうか
858:名無しさん@お腹いっぱい。
08/01/18 23:30:41 6MFXbEKC0
>>857
Firefox2.0? 3.0β?
userchrome.jsとuserContent.jsのverは?
859:名無しさん@お腹いっぱい。
08/01/18 23:40:18 qpXomkqf0
>>858
すみません
・Mozilla/5.0 (Windows; U; Windows NT 5.1; ja-JP-lg; rv:1.8.1.12pre) Gecko/20080114 Firefox/2.0.0.11 (ayakawa SSE2-PGU)
・userChrome.js 0.8
・userContent.js 1.3
860:836
08/01/19 00:49:25 c0ZHTm0j0
>>855
> すでに起動しているFirefoxをアクティブにすることはできますか?
win.content.focus();を追加してみた。
(function(){
const Ci = Components.interfaces;
var mediator = Components.classes["@mozilla.org/appshell/window-mediator;1"]
.getService(Ci.nsIWindowMediator);
var windowType = "navigator:browser";
var enumerator = mediator.getEnumerator(windowType);
while(enumerator.hasMoreElements()) {
var win = enumerator.getNext();
if(window != win){
win.content.focus();
setTimeout(function(){window.close();},0);
return;
}
}
})();
861:名無しさん@お腹いっぱい。
08/01/19 01:36:37 ln0yH9Gl0
custom buttons2などで指定したURLをサイドバーに開くやり方をお願いします
862:名無しさん@お腹いっぱい。
08/01/19 01:50:13 c0ZHTm0j0
>>861
「指定したURL」が意味不明確なので, プロンプト表示してURLを入力するものと勝手に解釈した。
この解釈があなたの意図していたものと異なっていても(ry
/*CODE*/
var specified_url = window.prompt('url');
if( specified_url){
if(!/^http:\/\//i.test(specified_url)) specified_url = "http://" + specified_url
openWebPanel("Open Specified URL in Sidebar", specified_url );}
863:名無しさん@お腹いっぱい。
08/01/19 01:50:31 +rcmg0s70
サイドバーに開く? どういうこと?
864:名無しさん@お腹いっぱい。
08/01/19 02:10:29 ln0yH9Gl0
>>863
ブックマークのプロパティに”このブックマークをサイドバーに読み込む”というオプションがありますよね。
あの動作をボタンでしたんです。
ブックマークツールバーフォルダに入れてボタン化では個々に配置できないのでcustom buttonsで出来ればと
865:名無しさん@お腹いっぱい。
08/01/19 02:18:28 ln0yH9Gl0
>>862
おw、スイマセンぼけてて読み飛ばしてしまった。風邪だなきっと・・・
説明が足らなかったようで申し訳ありませんでした。
参考にしてちょっと考えてみます
866:名無しさん@お腹いっぱい。
08/01/19 02:24:50 +rcmg0s70
>>864
サイドバーに表示するって意味ね。
こういう使い方しないからこんな機能あるの初めて知ったよ。
知らない機能まだまだあるもんなんだなぁ…。
867:名無しさん@お腹いっぱい。
08/01/19 02:39:01 hxYFnAb70
>>862
そんな面倒なことしなきゃ駄目かな?
以下のコードみたいに簡単でいいんじゃ?
openWebPanel("ここにページのタイトル記載", "ここにURL記載");
868:名無しさん@お腹いっぱい。
08/01/19 02:46:17 c0ZHTm0j0
>>867
>「指定したURL」が意味不明確なので, プロンプト表示してURLを入力するものと勝手に解釈した。
と記述してあるだろ
869:名無しさん@お腹いっぱい。
08/01/19 03:16:30 hxYFnAb70
>>868
すまん
コードしか読んでなかった。
870:861
08/01/19 03:48:56 ln0yH9Gl0
どうもありがとうございました。
>>862も汎用的に使えるのでかなり便利ですね。親切なコードで感謝です。
871:名無しさん@お腹いっぱい。
08/01/19 10:42:41 EVjPep3r0
Altを押しながらホイールを回したら一番上か一番下に移動したいと思って、
以下のスクリプトを書いてchrome/SubScript/scrollTopOrBottom.uc.jsに保存しました。
が、ブラウザ起動時にアクティブだったタブでしか有効になりません。
どうすればいいでしょうか?
(function()
{
var w = window.content;
var scrollTopOrBottom = {
handleEvent : function(aEvent){
if(aEvent.altKey || aEvent.metaKey){
var positionY = aEvent.detail >= 0 ? w.scrollMaxY : 0;
w.scrollTo(w.pageXOffset, positionY);
}
}
}
w.addEventListener("DOMMouseScroll", scrollTopOrBottom, false);
})();
872:名無しさん@お腹いっぱい。
08/01/19 13:02:19 c0ZHTm0j0
>>871
//Altを押しながらホイールを回したら一番上か一番下に移動
//マウスのイベント発生したwindow/frame/iframeで機能するようにしたつもり
(function()
{
var w = gBrowser.mPanelContainer;
var scrollTopOrBottom = {
_getWindow: function(aEvent){
var target = aEvent.originalTarget;
return target.ownerDocument ? target.ownerDocument.defaultView : null;
},
handleEvent : function(aEvent){
if(aEvent.altKey || aEvent.metaKey){
var fw = this._getWindow(aEvent)
if(!fw)return;
var positionY = aEvent.detail >= 0 ? fw.scrollMaxY : 0;
fw.scrollTo(fw.pageXOffset, positionY);
}
}
}
w.addEventListener("DOMMouseScroll", scrollTopOrBottom, false);
})();
873:872
08/01/19 13:25:21 c0ZHTm0j0
>>871
>>872の
if(!fw)return;
の次に
aEvent.preventDefault();
を
を挿入しておいてください
874:名無しさん@お腹いっぱい。
08/01/19 18:05:03 EVjPep3r0
>>872
おー!ありがとうございます
875:名無しさん@お腹いっぱい。
08/01/19 22:30:38 bXdCtutj0
80さんの保管庫とかないんですか?
アップローダのが最新のものなのか
このスレに書き込まれている修正コードで書き直さないといけないのか
というかこのスレを見るのが面倒というか・・
80さんのレスを抽出するだけじゃなくてその前後の流れも見なきゃいけないのが
876:名無しさん@お腹いっぱい。
08/01/19 22:40:33 NOQmnmCN0
使うのやめれば
877:名無しさん@お腹いっぱい。
08/01/19 22:51:53 laQAQFow0
>>875のようなゆとりは他人様の作った拡張でも使えば
アップデート楽だよ?
878:名無しさん@お腹いっぱい。
08/01/20 00:04:22 1Tk7Rjt/0
>>872
userChrome.jsでページのwindow.documentオブジェクト取得するためには
ownerDocument.defaultViewもってこないといけないんだなあ。
今ちょうどdocumentでやってgetElementByIdがnot a functionっていわれたとこだったので
参考になりました。
879:名無しさん@お腹いっぱい。
08/01/20 00:14:28 ST7GLbVv0
>>878
MDCを読むと良いと思う。
Code snippets:Tabbed browser
URLリンク(developer.mozilla.org)
880:名無しさん@お腹いっぱい。
08/01/20 00:38:29 dQHmlE8A0
google imageで、画像をクリックすると画像最大化+画像の元ページのURL表示はできますか?
後GMじゃなくて、userChrome.jsでgoogle検索の「次へ」を使わず次のページを読み込むことはできますか?
881:名無しさん@お腹いっぱい。
08/01/20 00:43:22 ST7GLbVv0
できるんじゃないですか?
できるんじゃないですか?
882:名無しさん@お腹いっぱい。
08/01/20 00:48:42 1Tk7Rjt/0
>>879
ありがとうございます。恥ずかしながらこんなもの作ってました。
URLリンク(www6.uploader.jp)
Greasemonkeyとはまたちがう楽しさがあっていいですね。
883:名無しさん@お腹いっぱい。
08/01/20 10:07:32 AIdvF+cG0
>>882は何なんだ?スクリプトとかさっぱりだから解らん
884:名無しさん@お腹いっぱい。
08/01/20 10:50:14 Bxt7GMPC0
>>875
>>883
ゆとりは来るなよ…('A`)
そんな楽していきなり結果が得られるわけないだろ。
885:名無しさん@お腹いっぱい。
08/01/20 10:53:22 AIdvF+cG0
サーセンwしゃあないから色々調べるか
886:名無しさん@お腹いっぱい。
08/01/20 10:57:53 2fT8t31I0
そもそも中にコメントが書いてあるだろ…。
887:名無しさん@お頭ゆっとり。
08/01/20 11:47:34 B7J0XUVl0
「userChrome.js用ローダー ver.0.63」は
chromeディレクトリと
chrome\hogehoge.ucディレクトリと
chrome\hogehoge.UCJSディレクトリの中のサブスクリプトをロードするもので
スクリプト内に@include/@excludeの記述がないものは
chromeディレクトリに
スクリプト内に@include/@excludeの記述があるものは
chrome\hogehoge.ucディレクトリまたは
chrome\hogehoge.UCJSディレクトリに入れる
という意味で間違いないでしょうか?
> nanto_vi さんの UCJS Loader 方式
というのはJavaScript1.7の機能が使用されているスクリプト用
という意味ですか?あと日本語をエンコードせず日本語のままで使える機能付き?
chrome\hogehoge.ucディレクトリと
chrome\hogehoge.UCJSディレクトリの使い分けが今ひとつ理解できずにいます。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5132日前に更新/327 KB
担当:undef