Javascript 如何覆盖默认浏览器功能

Javascript 如何覆盖默认浏览器功能,javascript,mozilla,firefox-addon-sdk,Javascript,Mozilla,Firefox Addon Sdk,是否可以从firefox插件在全局级别重写此函数 const windowMediator = CC["@mozilla.org/appshell/window-mediator;1"].getService(Components.interfaces.nsIWindowMediator); windowMediator.getMostRecentWindow("navigator:browser"); 你可以用 PageMod在页面上的js开始运行之前在每个页面上注入js(contentSc

是否可以从firefox插件在全局级别重写此函数

const windowMediator = CC["@mozilla.org/appshell/window-mediator;1"].getService(Components.interfaces.nsIWindowMediator);
windowMediator.getMostRecentWindow("navigator:browser");
你可以用


PageMod在页面上的js开始运行之前在每个页面上注入js(
contentScriptWhen:'start'
)。然后我们通过XRayWrapper覆盖窗口函数。

您的答案不符合堆栈溢出的标准。考虑解释你的代码所做的事情!我应该在我的插件代码中包含这个吗?我会测试它,让你知道它是否有效!为简单起见,取消安全窗口=窗口。因此,当您执行unsafeWindow.open=function(){alert('1')}时。您可以覆盖默认的window.open
pageMod.PageMod({
  include: "*",
  contentScriptWhen: 'start',
  contentScript: 'unsafeWindow.function=yourFunction;'
});