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);
});
我正在尝试检测网页何时从 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);
});