How can I create an object of a class which is defined in the remote page?
For example, in the remote webpage, there is a snippet of code like this: <script> function foo(){ this.bar = 0; } In my greasemonkey script, I want to create an object of this class: var _foo= unsafeWindow['foo']; new _foo(); Then I got an Illegal Value error. 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. 来源: https://stackoverflow.com/questions/535959/how-can-i-create-an-object-of-a-class-which-is-defined