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

标签 javascript google-chrome google-chrome-extension google-chrome-devtools

我正在尝试通过 Google Chrome DevTools 扩展检测网页何时发生更改。

我目前有一个 devtools.htmldevtools.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) {
            ...

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

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

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

最佳答案

是的。我想你可以使用chrome.tabs.onUpdated反而。检测状态变化的示例代码可以是:

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

关于javascript - Google Chrome DevTools 扩展 - 检测页面更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29698988/

相关文章:

google-chrome - Chrome 扩展程序图标未出现?

javascript - 我正在尝试在 Chrome 扩展的 innerHTML 元素内的 js 文件中添加图像

javascript - 在保留现有元素和事件监听器的同时修改 HTML

javascript - 在媒体查询中使用 Javascript 访问双重元素

javascript - Chrome 扩展后台页面仅有时返回错误 Access-Control-Allow-Origin(通常在 Windows XP 上)

javascript - 用纯色或图像覆盖 div Chrome 扩展

javascript - 使用 NaCl 模块(C 代码)的 Chrome 扩展程序不会接受我的消息

javascript - Angular Directive(指令)未绑定(bind)到 View

javascript - 我该如何解决 JS 元素中的这个 css 类问题?

JavaScript 剥离页面的 URL