我正在开发一个Chrome扩展程序,需要在某个阶段确定当前页面的语言。为达到这个目的,我的计划是提取页面的文本内容(或者至少其中的一部分)并将其传递给翻译 API。然而,我找不到任何一种直接获取文档中所有 textNode
的方法。
备用方案是递归分析$('body').contents()
,直到获得足够的文本内容,但这似乎有些靠不住。也许有更好的办法吗?
注意:Chrome 扩展 API 允许您的脚本访问用户页面 DOM,就像它是其中的一部分。
我正在开发一个Chrome扩展程序,需要在某个阶段确定当前页面的语言。为达到这个目的,我的计划是提取页面的文本内容(或者至少其中的一部分)并将其传递给翻译 API。然而,我找不到任何一种直接获取文档中所有 textNode
的方法。
备用方案是递归分析$('body').contents()
,直到获得足够的文本内容,但这似乎有些靠不住。也许有更好的办法吗?
注意:Chrome 扩展 API 允许您的脚本访问用户页面 DOM,就像它是其中的一部分。
Javascript:
document.body.textContent
document.body.innerText
方法的效果更加干净。 - Josh Desmonddocument.body.innerText;
VanillaJS:
document.body.outerHTML
var text = document.body.textContent;
var text = document.body.outerHTML;
var text = document.body.innerText;
等等...
var text = document.body.innerText;
将返回 undefined,就像语句 var i = 5;
一样会返回 undefined。只需在控制台中键入 document.body.innerText
,您将看到输出。 - Josh Desmond
sgmllib
模块中的SGMLParser
来实现!不太确定如何使用JS完成这个任务。 - Shiv Deepak