chrome.devtools.inspectedWindow更改事件

tre*_*nik 5 google-chrome-extension google-chrome-devtools

Google Chrome扩展程序API使用chrome.devtools.inspectedWindow在当前打开的窗口中提供信息,但它不会在更改时提供事件.我可以刷新或重定向页面,我想要添加的DevTools面板通知.有这个方法吗?

想想Elements面板,它始终与当前DOM保持同步.这可能很难实现,以便在发生DOM突变时保持最新状态,但我希望至少在加载新页面时得到通知(可能在document.onload事件上,为什么不)

关于如何实现这一点的任何想法,谢谢?

Rob*_*b W 10

收听其中一个chrome.webNavigation事件,并在发生更新时通知 devtools.

检测被检查页面被卸载的另一种方法是使用该chrome.devtools.network.onNavigated事件(仅在您的devtools扩展页面中可用).


Jo *_*gue 5

我遇到了同样的挑战,这是我在谷歌找到的唯一结果,所以我想用我找到的解决方案回答.关键不在于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");
  }
});
Run Code Online (Sandbox Code Playgroud)

您还可以使用chrome.tabs.*API检查当前选项卡上是否发生状态更改.