Firefox userChrome.js greasemonkeyスクリプトスレ34 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
>>631
そうですそれです
>>632
History apiってページ遷移がないシングルページ用だと思ってたんですけど可能ですか? >>634
うおおおおおおこんなのがあったんですか
ありがとうございますm(__)m >>634
こんな便利なのがあったのか
横からだがありがとう どのURLとマッチして動作してるか知りたいんですが
@include のURLをスクリプト内から取得できますか? uc.jsならcontent.location.href this.GM_info.script.includes ありがとうございます
>>640 ので取得できましたm(__)m # もともとここと迷ってあちらに書いたのですが、
# 誘導されてしまいましたのでこちらに転載させてください。
https://egg.2ch.net/test/read.cgi/software/1493784444/222n
FireGesturesに登録してるスクリプトをe10sに対応させる作業中です。
多くは↓これのおかげでうまく行くようになったけど、
http://egg.2ch.net/test/read.cgi/software/1486899756/852n
下記のスクロールさせるスクリプトはどう書き換えたらいいものでしょうか。
いままで通りのwindowオブジェクトを入手したい。
javascript:
(function(){
var w = window.content;
var d = w.document;
var de = /BackCompat/i.test(d.compatMode)
? d.body
: d.documentElement;
var smooth = setInterval(function(){
move = (de.scrollHeight-de.scrollTop-de.clientHeight)/2;
w.scrollBy(0,move);
if(move<1) clearInterval(smooth);
}, 10);
document.addEventListener('keydown', function(e){
if(e.keyCode == 27/*Esc*/) clearInterval(smooth);
},true);
})(); ブックマークレットであってもスクリプト言語で書かれたコードには違いないが ならその「スクリプト言語で書かれたコード」とやらを扱ってるスレに行けや Turn off Nicommentが今のflash版動画ページで機能しない
.wrappedJSObjectの記述は消してるんだけど何がダメなのかさっぱりだ 連投ごめんなさい
調べたら自己解決出来ました
('external_nicoplayer');の記述が足りなかったようです NewTabPlus.uc.js
ブックマークが新タブで開かない
openNewTab.uc.js
urlバーが新タブで開かない
NewTabPlusからOpen Url in New Tabのところを移植したらうまくいった 選択テキストを取得する window.getSelection() がe10sで機能しなくなってしまうんだけど、
これを回避するコードがあの手この手でググれどググれど見つからない。
そもそも需要がないんかね。 >>653 ありがとう。
getBrowserSelection doesn't support child process windows
と怒られまして、コピペでググるも手がかりなしです。 手元にあるuserChrome.js用のスクリプトの中で選択文字取得してるのがあったからそれ書いただけで
グリモンで使えるかもe10sで使えるのかも知らんのだわ
役に立たなくてすまん CPOWsを使えるようにして、ウィンドウを取得するところのcontentWindowをcontentWindowAsCPOWにする Windows 10で、パソコンが起動できない場合の対処方法について教えてください。 >>1
http://121ware.com/qasearch/1007/app/servlet/relatedqa?QID=018128
対処方法 Windows 10でパソコンが起動できない場合は、以下の対処方法を行ってください。
画面に何も表示されない場合は、以下の1〜6を順に行ってください。
画面に何か表示されている場合は、以下の6〜12を順に行ってください。
1. 電源ボタンを確認する
2. 各種ケーブル接続状態を確認する
3. 媒体が挿入されていないか確認する
4. 画面消灯ボタンを確認する(一体型パソコンのみ)
5. 増設機器を取り外す
6. 放電を行う http://goo.gl/w0f28e#
7. BIOSを初期化する
8. 「F1」キーを押して起動するか確認する
9. セーフモードで起動する
10. スタートアップ修復を行う
11. システムの復元を行う
12. 再セットアップを行う >>656 「CPOWsを使えるように」←ほほー!!
試行錯誤の中でCPOWsが障壁になっているのは知ってたけど、about:configにそんな項目あったんか!!
と思って dom.ipc.cpows.forbid-unsafe-from-browser;false にしたら、確かに下記で取得できました。
gBrowser.mCurrentBrowser._contentWindow.getSelection().toString();
しかしCPOWsを許可してしまうと、古いアドオンがブラウザUIのパフォーマンスを悪くしてしまう、
…という理解であってるか自信もないですが、とにかくほめられた対策ではないのですよねきっと。
>>657 が本道なのだとは思うのですが、Web開発>ブラウザーツールボックスのスクラッチパッドで
var browserMM = gBrowser.selectedBrowser.messageManager;
browserMM.loadFrameScript('data:,console.log(123)', true);
としても、 consoleMsg.functionName is null と怒られてしまい(この怒られ方もよくわからない)、
alert is not defined
window is not defined
document is not defined
gBrowser is not defined
...
などといった具合で、data:スキーム内にはなんにも存在しないのかと途方に暮れました。
Mathは存在するようなのでスコープ内が空っぽというわけではないようですが。
その場に存在するモノを列挙してみたいけど、グローバルルートなオブジェクトもわんないし出力手段もない…。
そもそもの素養が不足しているのだと思いますが、いまのところ思いついているのは
ぐりもん側で「document.title += ('[' + window.getSelection() + ']');」 などとやって、
クロームスクリプト側からは gBrowser.contentTitle から選択文字列を取得する…というバッドノウハウです。
しかしこれじゃCPOWs許可と五十歩百歩という気がします。 >>661
window取ってきて叩けばconsole.log()は使えるっぽい
(function(){
var browserMM = gBrowser.selectedBrowser.messageManager;
browserMM.addMessageListener("addon-id@sample", function(listener){
var data = listener.data;
alert(data.key);
});
function contentScript(){
var window = this.content;
window.console.log(this); // Frame script environment
var sel = window.getSelection();
window.console.log(sel);
var data = {key:"返信"};
this.sendAsyncMessage("addon-id@sample", data);
}
var script = 'data:' + 'application/javascript;charset=utf-8,' + encodeURIComponent('(' + contentScript.toString() + ')();');
browserMM.loadFrameScript(script, true);
})();
http://revolver2011.blog96.fc2.com/blog-entry-196.html グリモンでMutationObserver使ってるページのタブがバックグラウンドになってるときに
コールバックされないことがあるんだけど、回避法ってないのかな >>663-664 ありがとうございます。たいへん勉強になります。
いろいろ not found だったdata:スキーム内ですが、content.documentが使えるんですね。なんという見逃し。
https://developer.mozilla.org/en-US/Firefox/Multiprocess_Firefox/Frame_script_environment
というわけで、試行錯誤の上で完成したe10s対応のGoogle検索スクリプトがこちら。
これをベースにした派生スクリプトも加えて、FireGesturesやKeySnailに登録して使っています。
var mm = gBrowser.selectedBrowser.messageManager;
mm.addMessageListener('getSelection', function listener(message) {
var t = (message.data !== '') ? message.data : window.prompt('Google:', '');
if (t) {
if ('TreeStyleTabService' in window) TreeStyleTabService.readyToOpenChildTab(gBrowser.selectedTab);
gBrowser.addTab('https://www.google.co.jp/search?q=' + encodeURI(t));
}
mm.removeMessageListener('getSelection', listener, true);
});
mm.loadFrameScript('data:,sendAsyncMessage("getSelection", content.document.getSelection().toString())', true); しかしe10s対応のスクリプトすら、Firefox 57 ではKeySnailごと動かなくなってしまうのかしら。
FireGesturesは57でも無事なのかな。もしそうだとして、それはアドオンとしてe10sに対応済みだから?
それとも、メジャーなアドオンとして許されたリスト(dom.ipc.cpows.allow-cpows-in-compat-addons)に入っているから? e10sって初めて知ったけどアドオンリスト見たら非対応だらけで諦めた >>671 どうぞどうぞ
>>670 非対応とされてても、e10s強制Onでも動いてくれるアドオンも多いよ。
>>666
バックグラウンドタブだと最大1秒近く実行タイミングがぶれるから、
(MutationObserverに限らずEventListenerもsetInterval/setTimeoutも)
実行はされてるけどタイミングの問題で望む効果が得られていないだけでは。
自分はそういう場合、こんな感じで1000msごとにリトライさせてる。
function doSomething(){
if(!some_condition/*実行に必要な条件*/){
setTimeout(function(){
doSomething();
}, 1000);
return;
}
/* do something */
} >>672
e10sのほうがいい?最近やたらレスポンス悪いんだよな e10sでkeysnail動きます?
今度やってみるかな サブのfirefoxをe10にしてみたら動きはかなり良くなった
ただタブの開き方なんかの挙動が微妙に違うっぽくて一部アドオンが変な動きする
メインの方はアドオンスクリプトバリバリに使ってるから迂闊にe10にしたいとか言えんのがめんどくさいな 仕事上DPIを125%にして使ってるんだけどそれだとe10にならないらしい
アドオンも15個くらい非対応とか出ちゃってるからものすごくハードル高そう 賢い人たちはもうVivaldiに移行してるからね… 真面目な話、Chromeならともかく劣化ChromeのVivaldiに移行するやついるの? 現状Pale Moonを使うかな……でもツリー型タブに不具合が出たら嫌だわ >>679
使ってないけどツリー型タブはPM用のフォークがあるからいけるはず
>>676
DPI変更でe10s無効とか初めて知ったわ 現状Pale Moonに移行するメリットもなくないか
52ESRが使えるうちは >>673-674
自分は>>675と似てて、非e10sのアドオン盛り盛りメインプロファイルから、
e10sで動画視聴用のDeveloperEditionプロファイルを分離して快適になった。
しかし最近2chで「e10s強制オン」のレスを何度か見かけたので、
自分のメインプロファイルもe10s強制オンにしてみたところ、
非対応と表示されているアドオンも含めてほとんど問題なく動いた。
KeySnailも(http://egg.2ch.net/test/read.cgi/software/1486899756/852n)と>>668で問題なし。
ただし自分の理解があってるかわかんないけど、作者の悲壮感あふれる記事を見る限り、
Firefox 57 でXULのアドオンが廃止されたら動かなくなるんじゃないかと恐れてる。
http://emacs.rubikitch.com/keysnail/
"G"キーの一発で>>668を起動できるのはとても快適なので、
最悪、全サイトを対象に動くぐりもんで書こうかとは思ってるけど、
すべてのタブで同じスクリプトがそれぞれロードされる気持ち悪さはある。
(Iで画像、Cでキャッシュ、Aでアーカイブ、Bではてブ…などたくさんアサインしている)
あーでもツリー型タブのツリー開閉操作とかはぐりもんではできない… Vivaldiは拡張の並び順の変更できないのがなあ Keysnail 動かないわ
Vimfxに乗り換えてキーバインドいじり倒そうかと思う
あとその人Keysnailの作者じゃないよ 2年前の作者のつい貼っときますね
mooz@stillpedant
e10s が有効だと KeySnail 動かねーぞ、と怒られたので調べた。
e10s が有効だとアドオンからページにアクセスするため content としても null になるっぽい。
非同期にメッセージングで通信しろということなのだろう。こりゃ無理だよ対応、工数的に……。
11:21 - 2015年6月3日 VivaldiはFirefoxより自由度高いのに知ってるやつここにはいないのな >>672
>バックグラウンドタブだと最大1秒近く実行タイミングがぶれるから、
>(MutationObserverに限らずEventListenerもsetInterval/setTimeoutも)
>実行はされてるけどタイミングの問題で望む効果が得られていないだけでは。
コールバックルーチンにconsole.log()入れてみて再現した時のログを見たけど出力がなかった。
やっぱり呼ばれてないんだと思う。 さすがのお前らももうVivaldiに行ってしまったのか… Simple2chViewerがいくつか2chのサーバー移転で使えなくなったようです(多分このスレも?)
http://carpenter.2ch.net/test/read.cgi/operatex/1455385394/l50
作者様もし対応できましたらお願いします じっさい終わりみたいなもんだからなぁ
57でuserchromeJSの方は死亡がほぼほぼ確定してるし Tampermonkeyだっけ?
あれは関係ないのかな? userchromeJSやっぱりダメか
替わりになるものあるかな >>698
TampermonkeyはGreasemonkeyの代わり
userchromeJSの代わりにはならない showFullTitle4Googleの0.20151118なんだが
狐前ver.あたりから謎に1ページ目のみ効かない
APされた2ページ目以降は効くんで、検索バーを作り直したり色々やったんだがダメ
もうずっと地味に不便なんでエスパー頼む >>703
ナイスエスパー
解決しますた
まじ死ね俺 57から使えないなら今のうちに別の環境も構築しといたほうがよさそうだな 構築完了したのにこのスレにいる、あるいはFirefoxを使ってるってのがVivaldiの限界を物語ってるな >>710
だから 709 はそのことを言ってるわけだが… >>711
Vivaldiの限界なんて一言も言っていないのに
何を妄想してるんだよ Vivaldiだって所詮はChromium派生だからな
Firefoxの代わりにはなれんよ >>714
だからそれは >>709 が言ってることで >>710 の状況など一々言われないでもみんなわかってるってことなんだが
なんで私に言うんだ? e10s対応でuserchromeJSの替わりになるもの何か無い? 対応の問題じゃなくてそもそもいじれる場所が無くなる userchrome.jsとuserchrome.cssに関しては諦めるしかない
痒い所に手が届くようにmozillaの手を信じるしかない autocopy死んでると思ったらuserChrome.jpが店じまいか Mozillaを信じて使い続けた結果がこの有様だよ 54でalice0775さんのDragNgoModoki_Fx40.uc.jsが機能しなくなった
対応してくれないかな >>727
来年春まではまだESRとSeaMonkeyで動いてるからそれ以降だな。
SeaMonkeyは来年春以降どうするかまだ決まって無いけど
今でさえ開発人数と開発環境がギリギリでFirefoxからのフィードバック
&SeaMonkey固有のバグ取り共に遅延が酷い状況なので独自にXUL
続けるのは無理だろう。 提供者側が言うならわからんでもないけど
他にもあると言ってるほとんどはそうじゃないだろ
つーかここSeaMonkeyスレチだから動いてようが関係ないぞ ■ このスレッドは過去ログ倉庫に格納されています