Google Chrome Extension - Accesso alle DOM
-
20-09-2019 - |
Domanda
Ho cercato in giro per il web per scoprire come accedere al DOM schede corrente per estrarre informazioni da una pagina dal background.html. Finora ho avuto fortuna, o almeno niente che potessi andare al lavoro correttamente.
Per indicare il problema semplicemente. Vorrei ottenere src di un iFrame nella pagina. Qualche suggerimento?
Soluzione
Un modo, è un trattamento di questo come una singola richiesta una volta per il contenuto script che scaricherà il DOM si desidera accedere. http://code.google.com/chrome/extensions/messaging.html#simple
In sostanza, lo script contenuti imposta l'ascoltatore:
chrome.extension.onRequest.addListener(
function(request, sender, sendResponse) {
if (request.greeting == "hello")
sendResponse({farewell: "goodbye"});
else
sendResponse({}); // snub them.
});
E sfondo della pagina invia una singola richiesta vissuto:
chrome.tabs.getSelected(null, function(tab) {
chrome.tabs.sendRequest(tab.id, {greeting: "hello"}, function(response) {
console.log(response.farewell);
});
});
Quando si invia la risposta, lo si invia come dati JSON, è possibile recuperare quello che vuoi (ad esempio HTML, DOM, testo, ecc).
Questa è attualmente l'unico modo per lasciare che lo sfondo della pagina sa nulla circa il contenuto di una pagina. Ricordate che avrebbe bisogno di script contenuti e le autorizzazioni di tabulazione.