Question

J'ai cherché sur le web pour savoir comment accéder au DOM courant des onglets pour extraire des informations sur une page du background.html. Jusqu'à présent, je n'ai pas eu de chance, ou du moins rien que je puisse faire fonctionner correctement.

Pour poser le problème simplement. Je voudrais obtenir src d'un iFrame sur la page. Toutes les suggestions?

Était-ce utile?

La solution

Une façon, vous une gâterie cela comme une seule demande de temps pour le script de contenu qui ira chercher le dom vous souhaitez accéder. http://code.google.com/chrome/extensions/messaging.html#simple

En gros, votre script de contenu met en place l'auditeur:

chrome.extension.onRequest.addListener(
  function(request, sender, sendResponse) {
    if (request.greeting == "hello")
      sendResponse({farewell: "goodbye"});
    else
      sendResponse({}); // snub them.
  });

Et votre page d'arrière-plan envoie une requête unique vécu:

chrome.tabs.getSelected(null, function(tab) {
  chrome.tabs.sendRequest(tab.id, {greeting: "hello"}, function(response) {
    console.log(response.farewell);
  });
});

Lorsque vous envoyez votre réponse, vous l'envoyez en tant que données JSON, vous pouvez chercher tout ce que vous voulez (comme html, dom, texte, etc.).

C'est actuellement la seule façon de laisser la page d'arrière-plan rien savoir le contenu d'une page. Rappelez-vous que vous auriez besoin de scripts de contenu et les autorisations de l'onglet.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top