Firefox userChrome.js greasemonkeyスクリプトスレ34 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
>>581
あ、ニコニコ風コメントはYoutubeライブ見てると欲しくなりますね
作る人が作れば一瞬で作れそうだけどニコニコが特許取ってるらしいので誰も作らないのかなと思ってました! ニコニコは元々Youtubeにタダ乗りしてBANされたサービスだったって事を知らない若者も増えたのかな、とふと思った >>582 自分はデフォルトのまま使ってるのでStylish不要だったとは知らなかった(笑)。
いまちょうどコメントスクロールのぐりもんを新しく作ってて、
アベマとOPENREC.tvはほぼ完成して、次はYouTubeライブの予定。応用なので転用はラク。
その上で、単なる動画のYouTubeでも、たとえ時系列にマッチしなくてもランダムで流しちゃえば、
ちょっとは臨場感が得られて日の当たらないコメントにも気付けるかな?とか悩んでるとこ。
ちなみにアベマは既存のぐりもんもあるけど、
こちらは軽さに特化して作ってるので、CPU使用率は1-2割ほど少ないはず。
ソースも既存のよりよっぽど短くて理解しやすい…はず。
ニコニコ特許とか知らんかったわ!! …と思ったら自分も当時のニュースをブクマしてた。
ザッと見た限り、スクロールさせるだけなら抵触しないっぽいけど。 >>585
ライブでコメント流れるのはイイ!
特許はどうもサーバーから取得してどうのこうのとかも含まれてるしね、大丈夫だと思い直した
ライブじゃないYoutubeの普通のコメント欄ランダムはいらないかな
それで言うと、ライブじゃない動画のコメント欄のリプライに名前が含まれたり含まれなかったりで
しかもその返信先の名前とコメントが1行に含まれててコメント本分と返信先の名前が見づらいっていうのは前から気になる
しかも返信先の名前と本分がHTML的に区切られてない(classとか付いてない)のでいじるのダルいだろうなって思ってるってのがある 【theater Mode for YouTube】じゃアカンの? . - ‐─━…|
. : : : : : : : : : : : : : : : :| て 誰
/:: . : : : : : : : : : : : : : : | め だ
/:/: : : : : : : : : : : : : . : : :l | よ
/.:/ : : : : :i: : : : : : : : : : : : : } は
/.:/ . : : : : .:i : : : : :i: : 、: : : :ノへ、 /
/ ,′. : : : : : .:i : : : : :i: :i: '.: : :!::i:l\\ /
/: .′. : i: : :i..::i : : : : :i:斗rヤ笊仄 ハ i>‐----<: ゚.
. /: : ! . : : : i: : :i 人:. : : .:i::::.\l:斗-=ミ、}i|: : : :ハ: : : : : : ゚.
/: : : i:. : : : :i: : ;ャ≦ \::八:人〃斧笊ハ 刈ハ: : : l- 、: : : :|
. /: : : : i:. : : : :iX:八_ \ \:.\ 、 マ) .::i }} }:.:.i.:!h ハ: :. : |
厶 -‐ i:.: : : :∧ .〃斧_ \ 、_.:ノ 八ノリ.ソ }: :!: :l
/ ̄ ̄ ̄ ̄ ̄\: :∧{ マ .:i / }ノ.ノ : |∨
ね 好 .い ヽ: ヘ 弋.:ノ , r<: : :ハ|
| き き Y゚:. /.:.:∧.:{ j
ぞ 勝 な Vi:!:. , ¨フ V.:( )ノ
手 り W八 ー / ∨}
言 現 L__ ` .. / 〉- 、
っ れ √ ¨¨ ¬ ´ /_三二ニ=‐-
て て ; __ハ /. : : : : : : : : : : :
ん / ノ.:r'ヘ /: : : : : : : : :斗ャ≦
じ / /: / / : : : : : : 。≦ニ〃/
ゃ / /: : :/ /: : : : : : /三=‐ {{/ firefox52
addHistoryFindbar_Fx25.uc.js
目的の機能自体は効いてるんだけど副次的に謎挙動する
まずなんだか入力欄の見た目がクラシックテーマみたいになって
firefoxのテーマいれるとそれが顕著に目立つ
あとこれは良い作用だけど、これいれるとページ内検索が変なアニメーションなしでパッと一瞬ででるようになる >>579
setTimeout(function()
で行けた
中国人スゲー GreasemonkeyとText Highlighterというアドオンで
任意のキーワードを指定ページ上で常にハイライトさせることができて
その説明がこのURLに書いてるのですが
http://mozilla-remix.seesaa.net/article/386178945.html
説明の 1 はできたのですが 2 ができません
ここに書いてない作業が必要な気がするのですが・・・
だれか詳しい方教えてください
もしくは、これと同じ作業が可能なアドオンをご存じなら教えてください
ちなみに今はVocabulary Highlighter を使っています 使いやすいのですが
Vocabulary Highlighter を入れてからクラッシュするようになりました // ==UserScript==
// @name Text Highlighter
// @namespace Text Highlighter
// @description ハイライト
// @include https://www.google.co.jp
// @require
// @version 1
// @grant none
// ==/UserScript==
中身はこんな感じです
@require にアドオンのアドレスを入れるんですかね? // ==UserScript==
// @name Text Highlighter
// @namespace erosman
// @description Highlights User-defined Text
// @updateURL https://userscripts.org/scripts/source/292083.meta.js
// @downloadURL https://userscripts.org/scripts/source/292083.user.js
// @exclude *
// @grant GM_registerMenuCommand
// @grant GM_setValue
// @grant GM_getValue
// @author erosman
// @version 1.7
// ==/UserScript==
こうじゃねーの?全然違うじゃん
なんだよハイライトってカタカナw grant全消しとか
せきゅりてぃーいしきがたかいんですね YouTube +入れるとYoutubeのダウンロードスクリプトインストール出来なくなる すいませんー今でも↓のように全体を囲む必要ってあるのでしょうか?
// ==/UserScript==
(function () {
})(); Greasemonkeyではだいぶ前から要らんだろ
Tampermonkeyでどうかは知らんけど
Chrome版と同じ仕様ならリンターが警告出すんじゃねえの >>598
説明 のとこだよね 新規作成で作ったんだけど
http://d.hatena.ne.jp/shouh/20151011/1444538004
でスクリプトの説明って書いてたからわかりやすいようにハイライトって入れたんやけど
ファイヤーフォックスに Greasemonkey インストして Text Highlighter も同じようにインストしていいの?
ハイライターをモンキーで動かすには「ユーザースクリプトを入手」か何かで特殊な入れかたするの? >>603
gmでは要らなかったんですね
ありがとうございます! >>594
setTimeoutで既存メニュー表示と改造メニュー表示の順番を入れ替えるってことでいいでしょうか?
ESCキーで改造メニュー消すと後ろに既存メニューが出てますが、実用上問題ないのでこれでいきます
ありがとうございました >>607
function _f(event) {
if (event.target.localName == 'tabs' && event.button == 2){
var undoPopup = document.getElementById("myUndoPopup");
if(!undoPopup){
undoPopup = document.createElement("menupopup");
undoPopup.setAttribute("id","myUndoPopup");
var mainPopupSet = document.getElementById("mainPopupSet");
mainPopupSet.appendChild(undoPopup);
}
while (undoPopup.hasChildNodes())
undoPopup.removeChild(undoPopup.firstChild);
let tabsFragment = RecentlyClosedTabsAndWindowsMenuUtils.getTabsFragment(window, "menuitem");
undoPopup.appendChild(tabsFragment);
undoPopup.openPopupAtScreen(event.screenX, event.screenY, true);
event.stopPropagation();
event.preventDefault();
setTimeout(function(){document.getElementById("toolbar-context-menu").hidePopup();}, 0);//←ここに追加でどう?
}
}
gBrowser.mTabContainer.addEventListener('click', _f, false); >>608
既存メニューを後から非表示にするんですね
これなら既存メニューが残ることもないのでこれをいただきます
ありがとうございます document.getElementById('toolbar-context-menu').addEventListener('popupshown',e=>{e.target.hidePopup();});
じゃいかんのか >>610
もちろんいかんことないです
既存メニューを非表示にするだけなら色んな方法がありそうですね
preventDefaultが効けばいいんですけど… >>610
それtoolbar-context-menuがどこからも出せなくならない? Tab Mix Plus のアドオンでも既存メニューを非表示にできるよね? >>613
右クリック時の動作は設定項目にないですね ところでお前ら何時になったらVivaldiに移るの? 移る予定は今のところ無いんだが?
廃止になってから考える人が殆どだろ むしろ出戻って来たんだが
移るとしてもありゃダメだ chromeよりはvivaldiの方が使いやすいがそれよりfirefoxの方が使いやすい AdsBypasserやAffiliate killer、Anti-Adblock Killerあたりは併用しない方がいいんだろうか? document-start でリダイレクトさせると履歴に残ってしまい戻るボタンが機能しなくなりますが
これはどうしようもありませんか? 指定の文字列がページ内にあれば
すべてハイライト表示してくれるスクリプトないですか? >>624
検索バーに文字列入力して"強調表示"
もしくは、ページ内検索で"すべて強調表示" 説明不足でした
複数のワードを一気にハイラトさせたいんです searchwp入れて検索バーに複数ワード入力してF8キーとか >>625
長押しでは戻れるんですけど一回押すだけだとすぐリダイレクトされるので詳しくない人は戸惑ってしまうのです >>630
こういう事?
A→B→(リダイレクト)→C
・Bを表示したらCにリダイレクトさせたい
・Cで戻るボタンを押したらBを無視してA(Bの前に見ていたサイト)に戻りたい >>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ではてブ…などたくさんアサインしている)
あーでもツリー型タブのツリー開閉操作とかはぐりもんではできない… ■ このスレッドは過去ログ倉庫に格納されています