3

たとえば、リモートWebページには、次のようなコードのスニペットがあります。

<script>
function foo(){
this.bar = 0;
}

私のgreasemonkeyスクリプトでは、このクラスのオブジェクトを作成したいと思います。

var _foo= unsafeWindow['foo'];
new _foo();

次に、IllegalValueエラーが発生しました。

4

1 に答える 1

1

方法は次のとおりです。

var _foo = eval('(' + unsafeWindow.foo.toSource() + ')');
var x = new _foo();

この回避策は、Greasemonkey が行うさまざまなセキュリティ ゾーンまたはサンドボックス化のために必要になる場合がありますが、完全にはわかりません。

于 2009-03-04T07:11:24.037 に答える