我为Chrome做了一个简单的扩展,用来替换我在body标签中找到的第一个字符串。我将以下代码放在content.js中:
document.body.innerHTML = document.body.innerHTML.replace('Hello', 'Hi');
问题是,当原始HTML在字符串被替换之前可见时,会有明显的延迟。这在较大的网页上尤其糟糕。有没有办法提前执行它,而不会导致body为null的错误?
发布于 2018-10-30 08:24:26
首先,javascript是客户端的。因此,在DOM中查找Hello
之前,页面将首先加载(或所需的DOM内容)。
其次,您正在为浏览器扩展工作,因此您应该期望触发器在外部运行。
为了让你得到它:
这个会更快,因为你在页面中加载它:
<p>Lorem Ipsum.</p>
<script>
document.body.innerHTML = document.body.innerHTML.replace('Lorem', 'Hi');
</script>
https://stackoverflow.com/questions/53055469
复制相似问题