如何创建远程页面中定义的类的对象?

时间:2009-02-11 08:53:09

标签: greasemonkey

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

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

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

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

然后我收到了非法值错误。

1 个答案:

答案 0 :(得分:1)

以下是如何操作:

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

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