3

例如,在远程网页中,有这样一段代码:

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

在我的greasemonkey 脚本中,我想创建一个此类的对象:

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

然后我得到一个非法值错误。

4

1 回答 1

1

这是如何做到的:

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

由于 Greasemonkey 执行不同的安全区域或沙盒,可能需要此解决方法,但我不完全确定。

于 2009-03-04T07:11:24.037 回答