我正在为可用于 Android 的开源浏览器编写 JavaScript,以用一些不同的文本替换加载到浏览器中的页面的正文标记中的文本。
应该解决这个问题,一旦页面加载到浏览器中,这个 JavaScript 就会执行并进行替换,最后在浏览器中可以看到带有替换文本的页面。
这是代码的替换部分:
var textnodes, node, i;
textnodes = document.evaluate("//body//text()[not(ancestor::script) and not(ancestor::style)]",document,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null);
replace();
function replace() {
for (i = 0; i < textnodes.snapshotLength; i++) {
node = textnodes.snapshotItem(i);
text = node.data;
text = text.replace(/\'/g, "♥");
//The rest of the replacements
node.data = text;
}
}
但是document.evaluate
似乎不起作用。任何人都可以帮助我更正此代码或以任何其他方式执行此替换正文任务的任何建议吗?
谢谢!