例如,在远程网页中,有一段代码如下:
<script>
function foo(){
this.bar = 0;
}
在我的greasemonkey脚本中,我想创建这个类的对象:
var _foo= unsafeWindow['foo'];
new _foo();
然后我收到了非法值错误。
答案 0 :(得分:1)
以下是如何操作:
var _foo = eval('(' + unsafeWindow.foo.toSource() + ')');
var x = new _foo();
由于Greasemonkey使用不同的安全区域或沙盒,可能需要此解决方法,但我不完全确定。