2011-07-13 3 views
2

Est-il possible de surveiller le trafic réseau avec un plugin Google Chrome pour la page locale? Par exemple, je veux surveiller chaque fois qu'une page Web demande un fichier spécifique (basé sur la correspondance regex), et si un utilisateur clique sur le plugin, il ouvre un nouvel onglet à ce fichier.Développement de Google Chrome Plugin - Surveillez les demandes réseau?

+0

Signification locale 'fichier: //'? – serg

+0

non, par exemple, je peux voir dans l'onglet développeur, une page charge http://somesite.com/somemp3.mp3, et chaque fois que cela arrive, je veux être en mesure de télécharger ce mp3 en cliquant sur le bouton, qui ouvre un nouvel onglet, pointant vers ce lien ... – wuntee

+0

Voir également http://stackoverflow.com/q/7819463/632951 et http://stackoverflow.com/q/6831916/632951 – Pacerier

Répondre

3

La façon « correcte » serait d'utiliser webRequest API, mais il est encore au stade expérimental:

//background.html 
chrome.experimental.webRequest.onCompleted.addListener(function(details) { 
    console.log("resource", details.url); 
}); 

Pendant ce temps, vous pouvez prendre les ressources qui chargent avec le code suivant:

document.addEventListener("beforeload", function(event) { 
    console.log("resource", event.url); 
}, true); 

Cela doit pour entrer dans un script de contenu qui s'exécute avec "run_at": "document_start".

+0

il semble que cela fonctionne, et capable de trouver les demandes de base, mais il semble que ces fichiers sont tirés via un GET dans un fichier SWF ... un moyen de contourner cela? – wuntee

+0

@wuntee 'beforeload' est la seule méthode que je connaisse, toutes les autres impliquent une API expérimentale (et je ne suis pas sûr que même cela fonctionnerait avec flash). – serg

+0

hmm ... merci pour l'aide. C'est frustrant parce que je peux voir dans l'onglet 'Réseau' du volet développeur, les étant transmis ... en supposant que ce volet a plus de privilèges qu'une extension. – wuntee

Questions connexes