我正在运行一些自编的Greasemonkey用户脚本,几乎总是以某种方式需要 unsafeWindow 功能。不幸的是,该功能大部分已停止使用,但现在我无法修复脚本。我已经读过有三个新函数( cloneInto(), exportFunction()和 createObjectIn()),但我公开承认我得不到this page要我做的事。
有人可以快速解释我应该使用这三个功能中的哪一个,当然还有如何将它们转换为再次工作?对不起,但我对这些东西并不擅长。
举个简单的例子:
$("#someid").append('<a href="#" onclick="somefunction();return false;">Click</a>');
unsafeWindow.somefunction = function() {
alert("Hello!");
}
答案 0 :(得分:0)
Greasemonkey 2.0从根本上改变了unsafeWindow
处理。现在你应该使用
unsafeWindow.somefunction = exportFunction(function() {
alert("Hello!");
}, unsafeWindow);
或
exportFunction(function() {
alert("Hello!");
}, unsafeWindow, {defineAs: "somefunction"});
请参阅MDN中的exportFunction
。您可能还对createObjectIn
和cloneInto
感兴趣。