min*_*eek 5 javascript greasemonkey scriptmanager
我的用户脚本将在其上运行的页面具有命名空间,命名空间定义了构造函数.我想使用相同的构造函数创建一个对象,并使用我的用户脚本中的对象的方法.到目前为止,我一直没有成功.这就是我想要做的.
该页面包含以下原生javascript块:
var namespace={ constructor : function(){
this.sum = function(value1,value2){
alert(value1+value2);
}
}
}
Run Code Online (Sandbox Code Playgroud)
被用作:
var pageObject=new namespace.constructor();
pageObject.sum(1,2);
Run Code Online (Sandbox Code Playgroud)
在My Userscript中,我打算像pageObject一样创建一个对象,并使用我自己的参数调用sum.
我尝试过以下操作:
var greaseNameSpace = unsafeWindow.namespace;
var greaseObject = new greaseNameSpace.constructor();
greaseObject.sum(1,2);
Run Code Online (Sandbox Code Playgroud)
没有运气,虽然出现了greaseNameSpace,甚至greaseNameSpace.constructor也是一个有效的函数,使用new greaseNameSpace.constructor()会产生undefined.
也试过以下:
var greaseObject =new unsafeWindow.namespace.constructor();
Run Code Online (Sandbox Code Playgroud)
再次,greaseObject仍未定义.
我在这里找到一个线程如何创建在远程页面中定义的类的对象?
但它使用eval,我想知道这是否正确?
任何和所有的帮助将非常感谢:)谢谢!
小智 0
尝试:
var greaseNameSpace = unsafeWindow.namespace.constructor;
var greaseObject = new greaseNameSpace();
greaseObject.sum(1,2);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
459 次 |
| 最近记录: |