WebExtensions - 获取全局窗口属性

问题描述 投票:0回答:1

所以,我按照这里的教程: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的网站中启用了它。

这对我来说非常困惑,为什么当我打印窗口对象时,它会显示一个具有$属性的对象,但后来我尝试访问它,它不存在?

我该如何访问它?

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

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

javascript firefox firefox-addon firefox-webextensions
1个回答
1
投票

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

这适用于您的用例:

console.log(window.wrappedJSObject.$)
© www.soinside.com 2019 - 2024. All rights reserved.