J'ai une extension chrome. J'ai besoin d'analyser la source HTML de la page en cours. J'ai trouvé ici toutes sortes de solutions avec des pages de fond et des scripts de contenu mais aucune ne m'a aidé. voici ce que j'ai jusqu'à présent :
manifest.json
{
"name": "Extension",
"version": "1.0",
"description": "Extension",
"browser_action": {
"default_icon": "bmarkred.ico",
"popup": "Test.html"
},
"content_scripts": [
{
"matches": ["http://*/*"],
"js": ["content.js"]
}
],
"background": {
"page": "backgroundPage.html"
},
"permissions": [
"cookies",
"tabs",
"http://*/*",
"https://*/*"
]
}
background.html
<html>
<head>
<script type="text/javascript">
try {
chrome.tabs.getSelected(null, function (tab) {
chrome.tabs.sendRequest(tab.id, {action: "getSource"}, function(source) {
alert(source);
});
});
}
catch (ex) {
alert(ex);
}
</script>
</head>
</html>
content.js
chrome.extension.onRequest.addListener(function(request, sender, callback) {
if (request.action == "getSource") {
callback(document.getElementsByTagName('html')[0].innerHTML);
}
});
L'alerte est toujours indéfinie, même si je modifie la fonction de rappel dans le fichier content.js :
callback('hello');
Toujours le même résultat. Qu'est-ce que je fais de travers ? Peut-être que je m'y prends de la mauvaise façon. Ce dont j'ai vraiment besoin est ceci : Lorsque l'utilisateur ouvre la popup d'extension (et seulement à ce moment-là), j'ai besoin du HTML de la page actuelle pour pouvoir l'analyser.