Je voudrais accélérer le développement d'extensions en modifiant une extension existante. Je n'ai aucune expérience avec JavaScript, mais j'ai de l'expérience avec C, C++, Java et Python. J'ai choisi l'extension Regular Expression Search par bizsimon. Voici le code JavaScript du script de contenu que j'essaie de comprendre.Besoin d'aide pour modifier une extension de recherche regex existante
chrome.extension.onRequest.addListener(function(request, sender, sendResponse) { sendResponse(chrome_regex_search(request.exp)); });
function chrome_regex_search(exp) {
var tw=document.createTreeWalker(document.getElementsByTagName("body")[0], NodeFilter.SHOW_TEXT, null, false);
while (node = tw.nextNode()) {
node.parentNode.innerHTML=node.parentNode.innerHTML.replace(/<font class="chrome_search_highlight"[^>]*>(.+)<\/font>/igm, '$1');
}
try {
var pattern=eval("/(>[^<]*)("+exp+")([^<]*<)/igm");
var tw=document.createTreeWalker(document.getElementsByTagName("body")[0], NodeFilter.SHOW_TEXT, null, false);
while(node=tw.nextNode()) {
node.parentNode.innerHTML=node.parentNode.innerHTML.replace(pattern, '$1<font class="chrome_search_highlight" style="background: yellow">$2</font>$3');
}
return {"count": document.getElementsByClassName("chrome_search_highlight").length};
} catch(e) {
return {"count": 0};
}
}
Et voici mes questions:
Que fait ce code?
node.parentNode.innerHTML = node.parentNode.innerHTML.replace (/]*>(.+) </police>/igm, '$ 1');
- Je voudrais ajouter des boutons de navigation qui permettent à l'utilisateur de passer d'un résultat de recherche à un autre. Quels changements sont requis dans le script? Je suppose que maintenant je vais devoir enregistrer un état qui se souvient du résultat de la recherche en cours de visite. Comment puis-je faire passer le navigateur d'un résultat de recherche à un autre?
- Tous les commentaires utiles qui aideraient à comprendre le code ou même un code walkthru seraient très appréciés.
s'il vous plaît utiliser pour citer textuellement contre-apostrophes votre code en question n ° 1, une partie de la mise en forme semble perdre –