tags:

views:

261

answers:

1

for example, in the remote webpage, there is a snippet of code like this: function foo(){ this.bar = 0; }

In my greasemonkey script, I wanna create an object of this class,

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

then I got a Illegal Value error.

Thanks,

+1  A: 

Here's how to do it:

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

This workaround may be required due to the different security zones or sandboxing that Greasemonkey does, though I'm not entirely sure.

Daniel X Moore