2

Firefox 扩展如何读取 DOM/window 对象?即逆向:内容脚本访问网页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 控制台中触发“信息:”。但转储没有,实际上那里存在参考错误。我真的需要从扩展访问窗口对象。那么是否存在 unsafeWindow 呢?如何访问窗口对象?我不会调用任何函数,所以它是安全的。

4

0 回答 0