1

我試圖檢測網頁從谷歌瀏覽器開發工具擴展更改。谷歌瀏覽器開發工具擴展 - 檢測頁面變化

我現在有一個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過,但沒有研究如何做到這一點,但我不希望走這路線如果有一個我忽略的非常簡單的技術。

此外,我還沒有找到關於的任何信息,如果條件先前已滿足,但不再在頁面導航後刪除我的面板。

回答

2

是的。我想你可以用chrome.tabs.onUpdated代替。用於檢測狀態更改的示例代碼可以是:

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

'chrome.tabs'在devtools頁面上未定義。即使我有''權限「:[」標籤「],在清單中。 – WORMSS

+0

'chrome.tabs'僅在後臺腳本和彈出腳本中可用。 – gui47

+0

你100%正確,所以我想知道爲什麼你提出這個建議時,你知道我是在一個不涉及背景的建議後? – WORMSS