如何从Chrome扩展程序中的bg页面访问弹出页面DOM?

Fle*_*ore 7 google-chrome google-chrome-extension

它说,在谷歌C​​hrome的扩展开发者部分

扩展中的HTML页面可以完全访问彼此的DOM,并且可以相互调用函数....弹出窗口的内容是由HTML文件(popup.html)定义的网页.弹出窗口不需要复制后台页面(background.html)中的代码,因为弹出窗口可以调用后台页面上的函数

我已经加载并测试了jQuery,并且可以使用jQuery访问background.html中的DOM元素,但我无法弄清楚如何从background.html访问popup.html中的DOM元素.

Moh*_*our 7

你能讨论为什么要那样做吗?背景页面是一个永久存在于您的扩展程序的页面.虽然弹出页面仅在您单击弹出窗口时生效.

在我看来,它应该反过来重构,你的弹出窗口应该从后台页面请求一些东西.您只需在弹出窗口中访问后台页面: chrome.extension.getBackgroundPage()

但是如果你坚持,你可以使用与sendRequest()onRequest的扩展页面进行简单的通信.也许你可以使用chrome.extension.getViews

  • 昨天我在调查时意识到弹出窗口似乎是短暂的; 脚本每次打开时都会重新加载.我以为它是一个持久的对象.但现在我看到任何弹出状态需要存储在后台并在弹出窗口打开时加载. (3认同)