Google Chrome Extension - Zugriff auf den DOM
-
20-09-2019 - |
Frage
Ich habe das Web, um herauszufinden, wie der aktuellen Tabs DOM aus einer Seite aus dem background.html zu extrahieren Informationen zuzugreifen. Bisher habe ich kein Glück gehabt, oder zumindest nichts konnte ich richtig arbeiten.
Um das Problem einfach feststellen. Ich möchte src eines iFrame auf der Seite bekommen. Irgendwelche Vorschläge?
Lösung
Eine Möglichkeit, Sie ein Vergnügen diese als eine einzige einmalige Anforderung an den Inhalts-Skript, das den dom Sie zugreifen wollen holen. http://code.google.com/chrome/extensions/messaging.html#simple
Grundsätzlich Ihre Content-Skript-Sets auf den Hörer:
chrome.extension.onRequest.addListener(
function(request, sender, sendResponse) {
if (request.greeting == "hello")
sendResponse({farewell: "goodbye"});
else
sendResponse({}); // snub them.
});
Und Ihre Hintergrundseite sendet einen einzelnen gelebten Anfrag:
chrome.tabs.getSelected(null, function(tab) {
chrome.tabs.sendRequest(tab.id, {greeting: "hello"}, function(response) {
console.log(response.farewell);
});
});
Wenn Sie Ihre Antwort senden, senden Sie es als JSON-Daten, können Sie holen, was Sie wollen (wie html, dom, Text, usw.).
Das ist derzeit der einzige Weg, um die Hintergrundseite Know etwas über den Inhalt einer Seite zu lassen. Denken Sie daran, würden Sie Content-Skripte und Registerkarte Berechtigungen benötigen.