我在写一个Firefox扩展。我想要浏览整个明文,所以不要使用Javascript或图片来源,并替换某些字符串。目前,我有这样的:搜索某些字符串的HTML文档的文本(并替换它们)
var text = document.documentElement.innerHTML;
var anyRemaining = true;
do {
var index = text.indexOf("search");
if (index != -1) {
// This does not just replace the string with something else,
// there's complicated processing going on here. I can't use
// string.replace().
} else {
anyRemaining = false;
}
} while (anyRemaining);
这工作,但它也将通过非文本元素和HTML例如Javascript,我只希望它做的可见文本。我怎样才能做到这一点?
我目前正在考虑检测一个开放的括号,并继续在下一个闭括号,但可能有更好的方法来做到这一点。
[JavaScript的替换html正文中的文本](http://stackoverflow.com/a/25699092/215552)似乎在做你想做的事... –
Checkout this [texthighlight function](https://github.com/wet-boew) /wet-boew/blob/master/src/plugins/texthighlight/texthighlight.js)和[演示页面](https://wet-boew.gith ub.io/v4.0-ci/demos/texthighlight/texthighlight-en.html?txthl=avian%20influenza+world+cook+flu-like%20symptoms+Don%27t%20Forget...+causes%20sickness%20in %20birds,%20it%20can%20also%20infect%20people。) – thekodester
您可以尝试使用element.textContent获取文本,而不使用HTML而不使用innerHTML –