Javascript 如何获取整个文档的文本内容?
我正在构建Chrome扩展,它在某个时候会决定当前的页面语言。为了做到这一点,我的计划是提取页面的文本内容(或至少部分内容),并将其传递给翻译api。然而,我找不到任何直接的方法来获取文档的所有Javascript 如何获取整个文档的文本内容?,javascript,jquery,google-chrome,google-chrome-extension,Javascript,Jquery,Google Chrome,Google Chrome Extension,我正在构建Chrome扩展,它在某个时候会决定当前的页面语言。为了做到这一点,我的计划是提取页面的文本内容(或至少部分内容),并将其传递给翻译api。然而,我找不到任何直接的方法来获取文档的所有textNodes 有一个备份计划是递归地分析$('body').contents(),直到有足够的文本内容,但它感觉有点不稳定。也许有更好的办法 注意:Chrome extensions api允许脚本访问用户页面dom,就像它是dom的一部分一样。使用 没有jQuery,同样简单:document.
textNode
s
有一个备份计划是递归地分析$('body').contents()
,直到有足够的文本内容,但它感觉有点不稳定。也许有更好的办法
注意:Chrome extensions api允许脚本访问用户页面dom,就像它是dom的一部分一样。使用
没有jQuery,同样简单:
document.body.innerText代码>Javascript:
document.body.textContent
您可以使用。VanillaJS:
document.body.outerHTML
使用chrome在控制台中尝试时,所有这些方法都返回undefined
var text = document.body.textContent;
var text = document.body.outerHTML;
var text = document.body.innerText;
等等…在chrome扩展开发中有没有办法使用python可执行文件?如果是这样,您可以使用sgmllib
模块中的SGMLParser
来实现这一点!不太清楚如何使用JS来实现这一点你如何处理页面的完整html???innerText仅适用于IE,document.body.textContent其他根据PPK,两者或多或少都是跨浏览器的(Firefox中没有innerText,IE中没有textContent),但它们有所不同:innerText现在在所有浏览器中都实现了。它很好用,我推荐它。看见许多教程仍然过时,并提到其缺乏兼容性,但,不再!很抱歉吹毛求疵,但您需要:$('body').text()
对于我来说,在2021年的Chrome上,这不仅仅是文本。例如,在wikipedia上快速测试,除了页面上的文本外,还可以提取大量CSS和代码<但是,code>document.body.innerText
工作得很好。以下是有关innerText
、textContent
的一些信息及其区别:,语句本身,var text=document.body.innerText
将返回undefined,就像语句vari=5一样代码>将返回未定义的。只需在控制台中键入document.body.innerText
,您就会看到输出。
var text = document.body.textContent;
var text = document.body.outerHTML;
var text = document.body.innerText;