我正在寻找一种从原始弹出页面,从内容脚本内部发送数据(或直接编辑)DOM/HTML的方法。Chrome扩展内容脚本访问扩展框架
chrome.tabs.executeScript(null, {file: "script.js"});
我正在寻找一种方式来访问原始弹出的HTML,所以我可以编写和更新日志什么的script.js动态做:我的脚本使用以下行启动。
如果您需要更多信息,我将非常乐意编辑这篇文章。
非常感谢您的帮助!
我正在寻找一种从原始弹出页面,从内容脚本内部发送数据(或直接编辑)DOM/HTML的方法。Chrome扩展内容脚本访问扩展框架
chrome.tabs.executeScript(null, {file: "script.js"});
我正在寻找一种方式来访问原始弹出的HTML,所以我可以编写和更新日志什么的script.js动态做:我的脚本使用以下行启动。
如果您需要更多信息,我将非常乐意编辑这篇文章。
非常感谢您的帮助!
扩展上下文与内容脚本上下文之间存在安全分离。您不能仅从内容脚本中引用弹出框的window
(与扩展上下文中的getBackgroundPage()
或getViews()
不同,这是开始的一种破解)。
两者之间通信的正确方法是Messaging(您可以通过runtime.sendMessage
从内容脚本发送消息,并且弹出窗口将在接收器之间)。
重要的是要记住popup可以关闭,然后它的状态将会丢失并且不会被监听。在这种情况下,您要么使用后台脚本作为两者之间的“代理”,要么使用一些持久性存储,如chrome.storage
。
最后,Messaging/Storage仅支持JSON序列化的有效载荷。这意味着除了其他事情之外,您不能发送DOM节点。您只需要传达您的目的所需的最少数据,并在弹出窗口中构建DOM。
我很困惑你的问题。你能否编辑你的文章并使其更清楚?看起来你想从弹出页面发送数据到..什么? –