Avoir un problème en passant des messages en utilisant des scripts de contenu dans l'extension Google Chrome dev Ma structure de code ressemble à ceci:développement Extension Chrome: Message Passing Problème
popup.html:
var oList;
function getHTML()
{
chrome.tabs.getSelected(null, function(tab) {
chrome.tabs.sendRequest(tab.id, {action:"getHTML"}, function handler(response) {
oList = response.dom;
});
});
alert("oList = "+oList);
}
et mon contenu Script ressemble à ceci:
chrome.extension.onRequest.addListener(
function(request, sender, sendResponse) {
if(request.action == "getHTML"){
sendResponse({dom: document.getElementsByTagName("HTML").length});
}
});
Quand je déboguer mon code en mettant un point d'arrêt à « oList = response.dom;
» dans mon popup.html, j'obtiens la bonne valeur du script de contenu. Mais lors de l'exécution de l'extension, le code "alert("oList = "+oList);
" du popup.html semble être en cours d'exécution avant d'aller au serveur .. Et donc, sa valeur est n'étant pas réglée .. Quelqu'un peut-il me dire si je me trompe quelque part ?
Son comportement vraiment bizarre .. Si je fais un « Vérifiez Popup » sans points d'arrêt, son fonctionnement .. Si je viens d'exécuter clairement, il ne fonctionne pas! J'ai ajouté console.logs() à l'intérieur de la réponse et je vois que ça ne s'exécute pas. Mais quand je débogue, le code entre en jeu .. Je suis capable de voir les logs dans la console et m également en mesure d'obtenir les alertes. Pourquoi est-ce heureux? – sharath