Wednesday, March 30, 2011

GreaseMonkey: How can I create an object of a class which defined in the remote page?

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,

From stackoverflow
  • 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.

0 comments:

Post a Comment