Google Chrome DevTools 扩展 - 检测页面更改

Google Chrome DevTools Extension - Detect Page Change

我正在尝试检测网页何时从 Google Chrome DevTools 扩展更改。

我目前有一个 devtools.html & devtools.js 检测条件是否为真就是,它增加了开发工具面板。

chrome.devtools.inspectedWindow.eval(/*my test*/, function (result, exception) {
    if ( exception === undefined && result === true ) {
        chrome.devtools.panels.create("My Panel", "", "panel.html", function (panel) {
            ...

问题是,如果我打开开发工具,然后导航到另一个页面,它不会重新评估条件并添加面板。我必须再次关闭并重新打开 devtool。

认为可以用我传递tabId的背景页面来做到这一点也是,但还没有研究 如何 做到这一点,但如果我忽略了一个非常简单的技术,我不想走那条路。

此外,我还没有找到任何关于删除我的面板的信息,如果以前满足条件,但在页面导航后不再。

是的。我认为您可以改用 chrome.tabs.onUpdated 。检测状态变化的示例代码可以是:

chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
    if (changeInfo.status == 'complete') {
     }
});

https://developer.chrome.com/extensions/devtools_network#event-onNavigated

chrome.devtools.network.onNavigated.addListener(
    function(requesturl) {
        console.log('Navigating toooooo: ' + requesturl);
    });