X



Firefox userChrome.js greasemonkeyスクリプトスレ34 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
垢版 |
2017/01/12(木) 05:07:43.82ID:EIatOs2i0
■前スレ
Firefox userChrome.js greasemonkeyスクリプトスレ33
http://potato.2ch.net/test/read.cgi/software/1473545696/

■拡張機能
greasemonkey
http://www.greasespot.net/
Scriptish
https://addons.mozilla.org/ja/firefox/addon/scriptish/
Userscripts.org (旧:http://userscripts.org/ のミラーサイト)
https://userscripts-mirror.org/
OpenUserJS.org
https://openuserjs.org/
Greasy Fork
https://greasyfork.org/

"alta88's userChromeJS"
http://userchromejs.mozdev.org/index.html
"alta88's userChromeJS" 本体ミラーサイト
http://mirror.umd.edu/mozdev/userchromejs/
http://ftp.heanet.ie/mirrors/mozdev/userchromejs/
userChromeJS フォーラム
http://forums.mozillazine.org/viewtopic.php?f=48&;;t=1006795

"zeniko's userChrome.js"
http://mozilla.zeniko.ch/userchrome.js.html
userChrome.js フォーラム
http://forums.mozillazine.org/viewtopic.php?t=397735
http://forums.mozillazine.org/viewtopic.php?t=556229
userChrome.js用スクリプト - wiki@nothing
http://wiki.nothing.sh/2710.html
0633名無しさん@お腹いっぱい。
垢版 |
2017/05/18(木) 23:24:06.52ID:4y3che9q0
>>631
そうですそれです
>>632
History apiってページ遷移がないシングルページ用だと思ってたんですけど可能ですか?
0635名無しさん@お腹いっぱい。
垢版 |
2017/05/19(金) 08:34:22.97ID:YKXVwww30
>>634
うおおおおおおこんなのがあったんですか
ありがとうございますm(__)m
0637名無しさん@お腹いっぱい。
垢版 |
2017/05/23(火) 02:32:47.93ID:QIxTWyuz0
どのURLとマッチして動作してるか知りたいんですが
@include のURLをスクリプト内から取得できますか?
0641名無しさん@お腹いっぱい。
垢版 |
2017/05/23(火) 07:43:53.75ID:QIxTWyuz0
ありがとうございます
>>640 ので取得できましたm(__)m
0642名無しさん@お腹いっぱい。
垢版 |
2017/05/24(水) 01:06:27.93ID:xwPl2gOT0
# もともとここと迷ってあちらに書いたのですが、
# 誘導されてしまいましたのでこちらに転載させてください。
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);
})();
0648名無しさん@お腹いっぱい。
垢版 |
2017/05/25(木) 14:27:40.79ID:Ci+qTw6y0
Turn off Nicommentが今のflash版動画ページで機能しない
.wrappedJSObjectの記述は消してるんだけど何がダメなのかさっぱりだ
0649名無しさん@お腹いっぱい。
垢版 |
2017/05/25(木) 14:31:10.51ID:Ci+qTw6y0
連投ごめんなさい
調べたら自己解決出来ました
('external_nicoplayer');の記述が足りなかったようです
0650名無しさん@お腹いっぱい。
垢版 |
2017/05/26(金) 23:32:03.36ID:/VLoJZ/00
NewTabPlus.uc.js
ブックマークが新タブで開かない
openNewTab.uc.js
urlバーが新タブで開かない

NewTabPlusからOpen Url in New Tabのところを移植したらうまくいった
0651名無しさん@お腹いっぱい。
垢版 |
2017/05/27(土) 08:54:05.64ID:qPFwU6zE0
>>650
遅いw
0652名無しさん@お腹いっぱい。
垢版 |
2017/05/30(火) 16:39:30.04ID:AhS/S0U80
選択テキストを取得する window.getSelection() がe10sで機能しなくなってしまうんだけど、
これを回避するコードがあの手この手でググれどググれど見つからない。
そもそも需要がないんかね。
0654名無しさん@お腹いっぱい。
垢版 |
2017/05/30(火) 17:48:49.06ID:AhS/S0U80
>>653 ありがとう。
getBrowserSelection doesn't support child process windows
と怒られまして、コピペでググるも手がかりなしです。
0655名無しさん@お腹いっぱい。
垢版 |
2017/05/30(火) 19:08:37.78ID:ozK6Oz3+0
手元にあるuserChrome.js用のスクリプトの中で選択文字取得してるのがあったからそれ書いただけで
グリモンで使えるかもe10sで使えるのかも知らんのだわ
役に立たなくてすまん
0657名無しさん@お腹いっぱい。
垢版 |
2017/05/30(火) 21:02:50.42ID:cKCKBOcD0
>>654
loadFrameScript()を使って任意のスクリプトをFrame側に注入

Frame側でwindow.getSelection()などを実行

MessageListenerを使って実行結果をChrome側に送信

https://www43.atwiki.jp/fxext/pages/53.html
https://developer.mozilla.org/ja/docs/User:wbamberg/e10s/Working_with_multiprocess_Firefox
https://developer.mozilla.org/ja/Firefox/Multiprocess_Firefox/Message_Manager
0658名無しさん@お腹いっぱい。
垢版 |
2017/05/31(水) 05:47:05.63ID:WriKpYbP0
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. 再セットアップを行う
0659名無しさん@お腹いっぱい。
垢版 |
2017/05/31(水) 14:23:21.52ID:WriKpYbP0
Windows10 セーフモードでネットワーク有効
正常動作しないWindows10をセーフモードで起動 http://www.ikt-s.com/win10-force-safemode-boot/  
画面が真っ黒で何もできないとか、デスクトップまで立ち上がったが そこから何も操作できないという事が実際に起こっています。
http://i1.wp.com/www.ikt-s.com/wp-content/uploads/2016/06/win10-safemode3.jpg http://i2.wp.com/www.ikt-s.com/wp-content/uploads/2016/06/win10-safemode4.jpg http://i0.wp.com/www.ikt-s.com/wp-content/uploads/2016/06/win10-safemode5.jpg
http://i2.wp.com/www.ikt-s.com/wp-content/uploads/2016/06/win10-safemode6.jpg http://i1.wp.com/www.ikt-s.com/wp-content/uploads/2016/06/win10-safemode7.jpg http://i2.wp.com/www.ikt-s.com/wp-content/uploads/2016/06/win10-safemode9.jpg
正常動作しないWindows10をセーフモードで起動した後に『完全自動で通常起動へ移行する』には?
http://i.imgur.com/hzHr8ax.jpg http://i.imgur.com/hzHr8ax.jpg http://i.imgur.com/hzHr8ax.jpg
0661652
垢版 |
2017/05/31(水) 14:47:07.03ID:HF1xm4u60
>>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許可と五十歩百歩という気がします。
0663名無しさん@お腹いっぱい。
垢版 |
2017/05/31(水) 19:19:27.31ID:iXkvnpJs0
>>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
0665名無しさん@お腹いっぱい。
垢版 |
2017/06/01(木) 13:06:24.73ID:1xwtsxUb0
猫ボクシング
http://i.imgur.com/xnE9uyO.gif http://i.imgur.com/5j2mE2Q.gif http://i.imgur.com/NB3gNFA.gif  

http://subestamp.com/stampDict/img/official/5430/8445207.m4a http://subestamp.com/stampDict/img/official/5430/8445191.m4a http://subestamp.com/stampDict/img/official/5430/8445195.m4a
http://goo.gl/tUfdFq#.png http://sdl-stickershop.line.naver.jp/products/0/0/1/5430/android/stickers/8445191.png http://sdl-stickershop.line.naver.jp/products/0/0/1/5430/android/stickers/8445195.png
http://subestamp.com/stampDict/img/official/5430/8445199.m4a http://subestamp.com/stampDict/img/official/5430/8445203.m4a http://subestamp.com/stampDict/img/official/5430/8445190.m4a
http://sdl-stickershop.line.naver.jp/products/0/0/1/5430/android/stickers/8445199.png http://sdl-stickershop.line.naver.jp/products/0/0/1/5430/android/stickers/8445203.png http://goo.gl/inAqYs#.png
0666名無しさん@お腹いっぱい。
垢版 |
2017/06/01(木) 16:15:54.73ID:1gyDAyAM0
グリモンでMutationObserver使ってるページのタブがバックグラウンドになってるときに
コールバックされないことがあるんだけど、回避法ってないのかな
0668652
垢版 |
2017/06/02(金) 12:36:06.27ID:qyDblhvg0
>>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);
0669名無しさん@お腹いっぱい。
垢版 |
2017/06/02(金) 12:41:16.53ID:qyDblhvg0
しかしe10s対応のスクリプトすら、Firefox 57 ではKeySnailごと動かなくなってしまうのかしら。
FireGesturesは57でも無事なのかな。もしそうだとして、それはアドオンとしてe10sに対応済みだから?
それとも、メジャーなアドオンとして許されたリスト(dom.ipc.cpows.allow-cpows-in-compat-addons)に入っているから?
0671名無しさん@お腹いっぱい。
垢版 |
2017/06/02(金) 14:06:47.69ID:pfpZcMQ70
>>668
ゴチになります。
0672名無しさん@お腹いっぱい。
垢版 |
2017/06/02(金) 15:22:18.79ID:qyDblhvg0
>>671 どうぞどうぞ
>>670 非対応とされてても、e10s強制Onでも動いてくれるアドオンも多いよ。

>>666
バックグラウンドタブだと最大1秒近く実行タイミングがぶれるから、
(MutationObserverに限らずEventListenerもsetInterval/setTimeoutも)
実行はされてるけどタイミングの問題で望む効果が得られていないだけでは。

自分はそういう場合、こんな感じで1000msごとにリトライさせてる。

function doSomething(){
if(!some_condition/*実行に必要な条件*/){
setTimeout(function(){
doSomething();
}, 1000);
return;
}
/* do something */
}
0675名無しさん@お腹いっぱい。
垢版 |
2017/06/03(土) 10:00:07.12ID:oa+iuAMk0
サブのfirefoxをe10にしてみたら動きはかなり良くなった
ただタブの開き方なんかの挙動が微妙に違うっぽくて一部アドオンが変な動きする

メインの方はアドオンスクリプトバリバリに使ってるから迂闊にe10にしたいとか言えんのがめんどくさいな
0676名無しさん@お腹いっぱい。
垢版 |
2017/06/03(土) 11:48:48.32ID:nzCI/Nbo0
仕事上DPIを125%にして使ってるんだけどそれだとe10にならないらしい
アドオンも15個くらい非対応とか出ちゃってるからものすごくハードル高そう
0682名無しさん@お腹いっぱい。
垢版 |
2017/06/03(土) 21:20:30.44ID:sofjFTBz0
>>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ではてブ…などたくさんアサインしている)

あーでもツリー型タブのツリー開閉操作とかはぐりもんではできない…
0684名無しさん@お腹いっぱい。
垢版 |
2017/06/04(日) 01:42:54.69ID:tYPfXMc50
Keysnail 動かないわ
Vimfxに乗り換えてキーバインドいじり倒そうかと思う

あとその人Keysnailの作者じゃないよ
0685名無しさん@お腹いっぱい。
垢版 |
2017/06/04(日) 01:46:32.56ID:tYPfXMc50
2年前の作者のつい貼っときますね

mooz@stillpedant
e10s が有効だと KeySnail 動かねーぞ、と怒られたので調べた。
e10s が有効だとアドオンからページにアクセスするため content としても null になるっぽい。
非同期にメッセージングで通信しろということなのだろう。こりゃ無理だよ対応、工数的に……。
11:21 - 2015年6月3日
0690名無しさん@お腹いっぱい。
垢版 |
2017/06/05(月) 15:52:12.94ID:cBaiNkRM0
>>672
>バックグラウンドタブだと最大1秒近く実行タイミングがぶれるから、
>(MutationObserverに限らずEventListenerもsetInterval/setTimeoutも)
>実行はされてるけどタイミングの問題で望む効果が得られていないだけでは。

コールバックルーチンにconsole.log()入れてみて再現した時のログを見たけど出力がなかった。
やっぱり呼ばれてないんだと思う。
0702名無しさん@お腹いっぱい。
垢版 |
2017/06/15(木) 18:44:47.51ID:o8mofGId0
showFullTitle4Googleの0.20151118なんだが
狐前ver.あたりから謎に1ページ目のみ効かない
APされた2ページ目以降は効くんで、検索バーを作り直したり色々やったんだがダメ
もうずっと地味に不便なんでエスパー頼む
0709名無しさん@お腹いっぱい。
垢版 |
2017/06/16(金) 16:21:56.27ID:+ifEJGcR0
構築完了したのにこのスレにいる、あるいはFirefoxを使ってるってのがVivaldiの限界を物語ってるな
0722名無しさん@お腹いっぱい。
垢版 |
2017/06/17(土) 01:03:55.78ID:UYT4T+Mw0
userchrome.jsとuserchrome.cssに関しては諦めるしかない
痒い所に手が届くようにmozillaの手を信じるしかない
0729名無しさん@お腹いっぱい。
垢版 |
2017/06/18(日) 11:56:34.17ID:yIDIHStz0
>>727
来年春まではまだESRとSeaMonkeyで動いてるからそれ以降だな。

SeaMonkeyは来年春以降どうするかまだ決まって無いけど
今でさえ開発人数と開発環境がギリギリでFirefoxからのフィードバック
&SeaMonkey固有のバグ取り共に遅延が酷い状況なので独自にXUL
続けるのは無理だろう。
0731名無しさん@お腹いっぱい。
垢版 |
2017/06/18(日) 12:34:13.23ID:HbTV+e9I0
提供者側が言うならわからんでもないけど
他にもあると言ってるほとんどはそうじゃないだろ

つーかここSeaMonkeyスレチだから動いてようが関係ないぞ
■ このスレッドは過去ログ倉庫に格納されています