我正在制作我的第一个Chrome扩展程序,并且我正在尝试创建一个弹出式扩展程序,该扩展程序会根据结果抓取网页并将一些项目添加到列表中。有点像愿望清单。
我想在我的内容脚本中听一个弹出窗口打开的事件,这样我就可以重新抓取网页以获取更新的数据(如果用户点击了网页中的内容并且DOM发生了变化)。我正在使用chrome.runtime.onMessage和chrome.tabs.sendMessage在内容和弹出脚本之间进行通信。
我的问题是:我可以在内容脚本中听到任何事件并知道弹出窗口何时打开?或者甚至更好,是否有基于标签DOM更改更新弹出窗口的最佳做法?
干杯。
答案 0 :(得分:1)
在弹出页面中,包含以下js
window.onload = function() {
//popup was opened, do what you want
};
答案 1 :(得分:1)
使用Tabs权限,您可以在扩展程序的Popup打开时运行脚本:
chrome.browserAction.onClicked.addListener(function(tab) {
// Run the following code when the popup is opened
});
请记住,上面的代码必须在后台脚本中运行。
答案 2 :(得分:0)
基于docs。使用' MutationObserver()',它为网页或扩展程序提供了一种机制,以获取有关对DOM所做更改的通知。
下面的代码片段是如何实例化DOM变异观察者:
new MutationObserver(
function callback
);