Google Chrome 扩展 API 使用 chrome.devtools.inspectedWindow 提供有关当前打开窗口的信息,但它不提供更改时的事件。我可能会刷新或重定向页面,并且我希望我添加的 DevTools 面板能够收到通知。有办法吗?
想想元素面板,它总是与当前的 DOM 保持同步。每当发生 DOM 突变时,为了保持最新状态,这可能很难实现,但我希望至少在加载新页面时得到通知(可能在 document.onload 事件中,为什么不)
关于如何实现这一点的任何想法,谢谢?
Google Chrome 扩展 API 使用 chrome.devtools.inspectedWindow 提供有关当前打开窗口的信息,但它不提供更改时的事件。我可能会刷新或重定向页面,并且我希望我添加的 DevTools 面板能够收到通知。有办法吗?
想想元素面板,它总是与当前的 DOM 保持同步。每当发生 DOM 突变时,为了保持最新状态,这可能很难实现,但我希望至少在加载新页面时得到通知(可能在 document.onload 事件中,为什么不)
关于如何实现这一点的任何想法,谢谢?
监听其中一个chrome.webNavigation事件,并在发生更新时通知开发工具。
另一种检测被检查页面正在卸载的方法是使用chrome.devtools.network.onNavigated事件(仅在您的 devtools 扩展页面中可用)。
我有同样的挑战,这是我在谷歌中找到的唯一结果,所以我想用我找到的解决方案来回答。关键不在于chrome.devtools.inspectedWindow,而在于chrome.tabs.onUpdated。事实上,我发现chrome.tabs.*总的来说它更有用。这是我用来观察扩展程序状态变化的代码;
chrome.tabs.onUpdated.addListener(function (tabId, changes, tabObject) {
console.log("Status of", tabId, "is", changes.status);
if (changes.status == "complete") {
console.log("Tab Load Complete");
}
});
您还可以使用chrome.tabs.*API 检查当前选项卡上是否发生状态更改。