Die Google Chrome-Erweiterungs-API bietet Informationen zum derzeit geöffneten Fenster unter Verwendung von chrome.devtools.inspectedWindow. Es werden jedoch keine Ereignisse für Änderungen bereitgestellt. Ich kann die Seite aktualisieren oder umleiten, und ich möchte das DevTools-Panel, das ich hinzufüge, um benachrichtigt zu werden. Gibt es dafür eine Methode?chrome.devtools.inspectedWindow Änderungsereignis
Denken Sie an das Bedienfeld Elemente, es bleibt immer auf dem neuesten Stand mit dem aktuellen DOM. Dies ist möglicherweise schwierig zu implementieren, um immer auf dem neuesten Stand zu bleiben, wenn eine DOM-Mutation auftritt, aber ich möchte zumindest informiert werden, wenn eine neue Seite geladen wird (wahrscheinlich beim document.onload-Ereignis, warum nicht)
Irgendwelche Ideen, wie dies zu implementieren, danke?
OK, danke für die Führung, hier ist eine genauere Erklärung, was ich bauen möchte, vielleicht können Sie mir mehr auf die richtigen API-Methoden verweisen, weil das Messaging zwischen Hintergrund, Seiten und Devtools-Skripten knifflig sein kann . Ich möchte einige Statistiken basierend auf einigen globalen Variablen von Seiten anzeigen, die ein bestimmtes JS-Framework verwenden. Also müsste ich auf die Runtime-JS-Variablen der aktuell geöffneten Seite innerhalb meiner Devtools-Seite zugreifen. Ist das möglich? Danke – treznik
Ja, das ist möglich. Ich schlage vor, einen Knopf hinzuzufügen, damit der Benutzer Ihren Code manuell auslösen kann (der die globalen Variablen überprüft). Die APIs, die ich verlinkt habe, reichen aus, um den Anfang zu machen. Lass es mich wissen, wenn du nicht weiterkommst. –
OK, ich habe es geschafft, chrome.webNavigation.onCompleted-Handler über das Hintergrundskript an unabhängige Devtools-Panels zu binden. So weit, so gut, aber wie komme ich von den grundlegenden "Details" -Parametern von https://developer.chrome.com/extensions/webNavigation.html#event-onCompleted, um auf die globalen Variablen dieser Registerkarte zuzugreifen? Danke – treznik