firefox扩展如何读取DOM / window对象? 即反过来:content script access to webpage js
我想在扩展中分配一个变量 - 使用unsafeWindow对象。但它不起作用。 unsafeWindow在contentScript之外是未定义的:
我尝试了许多其他方法,但我想避免任何丑陋的黑客的需要..
例如https://addons.mozilla.org/en-US/developers/docs/sdk/1.6/dev-guide/guides/content-scripts/access.html表示unsafeWindow是一个很好的代理:它会看到实际的窗口对象(即使它被jQuery等库修改)。但是当我尝试访问unsafeWindow时,例如: var widgets = require(“sdk / widget”); var tabs = require(“sdk / tabs”);
var widget = widgets.Widget({
id: "mozilla-link",
label: "Mozilla website",
contentURL: "http://www.mozilla.org/favicon.ico",
onClick: function() {
tabs.activeTab.attach({
// native implementation of window.confirm will be used
contentScript: "console.log(window.navigator.userAgent);"
});
dump(unsafeWindow.navigator.userAgent);
}
dump(unsafeWindow);
});
Console.log工作并在sdk控制台中触发“info:”。但转储没有,实际上那里有一个引用错误。我真的需要从扩展中访问window对象。 那么有不安全的窗户吗? 如何访问窗口对象? 我不会调用任何函数,所以它是安全的。