他のユーザースクリプトを管理できるGreasemonkeyスクリプトを作成することは可能ですか?
ユーザースクリプトのURLのリストを指定して、他のユーザースクリプトのグループを自動的にインストールするユーザースクリプトを作成したいと思います。
2 に答える
いいえ、これは不可能です。もしそうなら、それは大きなセキュリティホールになるでしょう。
最善の方法は、スクリプトごとにインストールダイアログをトリガーし、ユーザーがスクリプトをインストールするかどうかを決定できるようにすることです。
これらの制限を回避する方法を見つけた場合は、急いでシャットダウンできるようにお知らせください。;-)
ダウンロードダイアログをトリガーするには:
直接ダウンロードURLを取得します。
たとえば、このスクリプトの場合:(
クリックすると拡大画像が表示されます)ダウンロードURLは次のとおり
http://userscripts.org/scripts/source/26062.user.js
です。次に、スクリプトは、そのURLに。を付けてソースすることにより、Greasemonkeyのインストールダイアログをトリガーします
<iframe>
。これは、次のことを示す完全なGreasemonkeyスクリプトです。
// ==UserScript== // @name _Auto popup Greasemonkey Script Install Dialog // @include http://YOUR_SERVER.COM/YOUR_PATH/* // @include http://stackoverflow.com/faq // @require http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js // @grant GM_addStyle // ==/UserScript== var scriptJS_URL = "http://userscripts.org/scripts/source/26062.user.js"; $("body").append ( '<iframe src="' + scriptJS_URL + '" class="gmImstallIframe"></iframe>' ); GM_addStyle ( " \ iframe.gmImstallIframe { \ width: 1px; \ height: 1px; \ border: none; \ } \ " );
重要: 現在、Greasemonkey(バージョン1.5頃)にはバグがあるようです。Installボタンは機能しShow Script Sourceますが、クロスドメインスクリプトのためにボタンが無効になっているようです。
Firefoxでは、隠しフレーム内のユーザースクリプトへのURLを呼び出して、分割払いのポップアップを流暢に作成できます。それはあなたが得ることができる最も近いものです。
とにかくChromeユーザーには機能しません、そしてあなたの本当の原因は、そのインストールダイアログをバイパスすることは-もちろん-不可能です。