WebExtensions - 获取全局 window 属性

WebExtensions - get global window properties

所以,我按照这里的教程进行操作:https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Your_first_WebExtension

在其中创建一个简单的扩展来修改 DOM 注入脚本。

但后来我在 borderify.js(内容脚本)上添加了这些行:

console.log(window); //Prints an object that has a "$" property;
console.log(window.$); //Undefined
console.log($); //Error, "$" is undefined

然后我在一个网站上启用了它,我知道它的脚本标签中有 JQuery。

这让我很困惑,为什么当我打印 window 对象时,它向我显示了一个包含 $ 属性 的对象,但随后我尝试访问它,它不存在?

我如何访问它?

有一些类似的问题,但它们都很老,而且是一个快速变化的主题。

(请注意这与JQuery无关,这只是一个例子)

您可能想阅读 MDN 上的 Sharing objects with page scripts,尤其是警告!

这应该适用于您的用例:

console.log(window.wrappedJSObject.$)