我正在开发一个在内容脚本中使用 jQuery/Zepto 的 chrome 扩展。现在,该扩展旨在在每个网站上运行,这意味着用户打开的每个选项卡上都会加载 jQuery/Zepto 的副本。
有没有办法在各种内容脚本之间共享 jQuery/Zepto 对象?
我知道内容脚本可以与后台脚本通信。我希望能够让后台脚本访问 jQuery 对象并返回对它的引用,以返回到每个内容脚本。但我意识到只能在内容和后台脚本之间传递 JSON 消息。
有什么办法可以实现我想要的吗?
最佳答案
不同选项卡中的内容脚本也无法访问彼此的 JavaScript 对象。
Chrome 通过 chrome.runtime.sendMessage
支持内容脚本和/或后台页面之间的通信+ .onMessage
.由于所有消息都是 JSON 序列化的,因此 JavaScript 对象不能以这种方式“泄漏”到其他上下文。
所以:不,您不能与其他选项卡(在内容脚本中)共享 jQuery 等对象。
关于google-chrome-extension - Chrome 扩展 : sharing an object between content scripts and background script,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13680985/