Google chrome extension chrome.devtools.inspectedWindow更改事件

Google chrome extension chrome.devtools.inspectedWindow更改事件,google-chrome-extension,google-chrome-devtools,Google Chrome Extension,Google Chrome Devtools,Google Chrome扩展API使用Chrome.devtools.inspectedWindow提供当前打开窗口的信息,但不提供更改时的事件。我可能会刷新或重定向页面,并希望通知我正在添加的DevTools面板。有什么办法吗 想想元素面板,它总是保持当前DOM的最新状态。这可能很难实现,以便在DOM发生变化时保持最新状态,但我希望至少在加载新页面时收到通知(可能在document.onload事件中,为什么不) 关于如何实现这一点有什么想法吗,谢谢?请收听其中一个事件,并在更新时收听dev

Google Chrome扩展API使用Chrome.devtools.inspectedWindow提供当前打开窗口的信息,但不提供更改时的事件。我可能会刷新或重定向页面,并希望通知我正在添加的DevTools面板。有什么办法吗

想想元素面板,它总是保持当前DOM的最新状态。这可能很难实现,以便在DOM发生变化时保持最新状态,但我希望至少在加载新页面时收到通知(可能在document.onload事件中,为什么不)

关于如何实现这一点有什么想法吗,谢谢?

请收听其中一个事件,并在更新时收听devtools


另一种检测被检查页面是否被卸载的方法是使用事件(仅在devtools扩展页面中可用)。

我遇到了同样的问题,这是我在Google中找到的唯一结果,因此我想用我找到的解决方案来回答。关键不在于
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来检查当前选项卡上是否发生了状态更改。

好的,谢谢您给我提供了一个线索,这里有一个关于我想要构建什么的更狭义的解释,也许您可以向我指出一些正确的API方法,因为后台之间的消息,页面和devtools脚本可能很棘手。我想根据使用特定JS框架的页面中的一些全局变量显示一些统计数据。因此,我需要在devtools页面中访问当前打开页面的运行时JS变量。这可能吗?谢谢,这是可能的。我建议添加一个按钮,以便用户可以手动触发代码(检查全局变量)。我链接的API足以让您开始使用。好的,我通过后台脚本将chrome.webNavigation.onCompleted处理程序绑定到独立的devtools面板。到目前为止还不错,但是如何从基本的
详细信息
参数中访问该选项卡的全局变量呢?Thanks@treznik您不能直接访问全局变量。只需向devtools面板发送一条消息,说明页面已重新网格化,并且应该再次查找全局变量。@treznik可以使用直接读取全局变量。如果您希望在后台页面中获取信息,也可以使用。您不能在devtools页面中使用chrome.tabs代码,而OP正要求使用该代码。我不会投你反对票,因为似乎有些人显然觉得你的解决方案很有用,但我怀疑他们是否试图制作一个Devtools面板。