Je suis en train de construire une extension chromée qui à un moment donné devrait déterminer la langue actuelle. Pour ce faire, mon plan est d'extraire le contenu du texte de la page (ou d'au moins une partie de celui-ci) et de le transmettre à l'API de la traduction. Cependant, je n'ai pas pu trouver de manière avancée du détroit de simplement obtenir tout Il existe un plan de sauvegarde qui doit analyser de manière récursive Remarque: API d'extensions Chrome permet à votre script d'accéder à la page d'utilisateur Dom comme si c'était la partie de celle-ci. P> textnode code> S du document. P>
$ («corps»). Contenu () Code> jusqu'à ce qu'il y ait suffisamment de contenu texte, mais cela se sent un peu floconneux. Peut-être qu'il y a une meilleure façon? P>
p>
6 Réponses :
Utilisation de méthode texte jQuery ()
Désolé pour Nitpick, mais vous voulez: $ («corps»). Texte () Code>
sans jQuery, tout aussi facile: document.body.innertext; code> p>
Innertext pour IE IE SEULEMENT, document.body.body.textContent autrement
Selon PPK, les deux sont plus ou moins croisés (Innertext étant absent dans Firefox, TextContent dans IE) quirksmode.org/dom/w3c_html.html
Ils sont différents: Stackoverflow.com/Questtions/1359469/...
Innertext est maintenant implémenté dans tous les navigateurs. Cela fonctionne bien et je le recommanderais. Voir Caniuse.com/innertext . De nombreux tutoriels sont toujours obsolètes et mentionnent son manque de compatibilité, mais non plus!
JavaScript:
document.body.textContent
Pour moi, en 2021 sur Chrome, cela obtient beaucoup plus que le texte. Un test rapide de cette question sur Wikipedia, par exemple, gère d'extraire beaucoup de CSS et de code en plus du texte de la page. document.body.innertext code> fonctionne cependant proprement.
Voici quelques informations sur innferext code>,
textContent code> et les différences: htmlelement.innertext , TextContent et Innertext Différences
Vous pouvez utiliser chrome.tabs.detectLangue (Integer Tabid, Rappel de la fonction) a>. p>
vanillajs:
Toutes ces méthodes retournent non définies lors de la tentative de la console avec chrome. etc ... p> p> P>
La déclaration elle-même, var text = document.body.innertext; code> reviendra non défini, tout comme l'instruction
var i = 5; code> retournera non définie. Tapez simplement
document.body.innertext code> dans la console et vous verrez la sortie.
Y a-t-il de quoi vous pouvez utiliser Python Executables dans le développement de l'extension chromé? Si oui, vous pouvez utiliser
sgmlParser code> à partir de
SGMLLIB code> Module pour y parvenir! pas très sûr comment faire cela en utilisant JS
Que faites-vous avec le code HTML complet de la page ???