7

Je construis l'extension Chrome qui, à un moment donné, devrait déterminer la langue de la page en cours. Pour ce faire, mon plan est d'extraire le contenu textuel de la page (ou au moins une partie de celui-ci) et de le passer à la traduction api. Cependant, je ne pouvais pas trouver un moyen quelconque pour obtenir tout le textNode s du document.Comment obtenir le contenu du texte de l'ensemble du document?

Il existe un plan de sauvegarde qui doit analyser récursivement $('body').contents() jusqu'à ce qu'il y ait suffisamment de contenu textuel, mais cela semble un peu flou. Peut-être qu'il y a un meilleur moyen?


Remarque: Les extensions Chrome api permet à votre script pour accéder à la page dom utilisateur comme si elle était la partie.

+0

est là comme vous pouvez utiliser executables python dans le développement chrome extension? Si oui, vous pouvez utiliser 'SGMLParser' du module' sgmllib' pour y arriver! pas très sûr comment faire cela en utilisant js –

+0

que faites-vous avec le html complet de la page ??? – kobe

Répondre

8

Utilisation du jQuery text() method

$('body').text() 
+0

Blinkly évident;) – artemave

+0

Désolé de nitpick, mais vous voulez: '$ ('body'). Text()' – szeryf

+0

@szeryf oui votre droit. Mes excuses et bonne prise! –

10

Sans jQuery, tout aussi facile: document.body.innerText;

+6

innerText pour IE uniquement, document.body.textContent sinon – kennebec

+0

Selon PPK, les deux sont plus ou moins inter-navigateurs (innerText étant absent dans Firefox, textContent dans IE) http://www.quirksmode.org/dom/w3c_html. html – pawel

+2

Ils sont différents cependant: http://stackoverflow.com/questions/1359469/innertext-works-in-ie-but-not-in-firefox/1359822#1359822 –

10

Javascript:

document.body.textContent 
Questions connexes