Greasemonkey では、グローバルalert()
関数を次のように書き換えることができます。
window.alert = function() {...}
どこでも機能します。
ただし、Tampermonkey (Chrome) では、独自のスクリプトでのみ機能します。
なんで?そして、それをグローバルに機能させることはできますか?
Greasemonkey では、グローバルalert()
関数を次のように書き換えることができます。
window.alert = function() {...}
どこでも機能します。
ただし、Tampermonkey (Chrome) では、独自のスクリプトでのみ機能します。
なんで?そして、それをグローバルに機能させることはできますか?
実際、Greasemonkey でしか機能しない場合もあります。許可モードは、---none
私は反対することをお勧めします。あなたが発見したように、誤ってそのモードをトリップすると、この質問の範囲を超えた他の罪とともに、移植性のないスクリプトが作成されます。
このコードを Tampermonkey (および Greasemonkey も) で機能させるには、次のようにunsafeWindowを使用します。
// ==UserScript==
// @name _YOUR_SCRIPT_NAME
// @include http://YOUR_SERVER.COM/YOUR_PATH/*
// @grant unsafeWindow
// ==/UserScript==
unsafeWindow.alert = function() {...}
または、この回答に示されているようにスクリプト インジェクションを使用します。
@grant unsafeWindow
ディレクティブは、Greasemonkey 用です。サンドボックスを復元し、の使用を許可しますunsafeWindow
。これにより、同じスクリプトが Tampermonkey と Greasemonkey の両方で同じように機能します。