我正在为Chrome进行一个简单的扩展,以替换在body标签中找到的第一次出现的字符串。我将以下代码放在content.js中:
document.body.innerHTML = document.body.innerHTML.replace('Hello', 'Hi');
问题在于,替换字符串之前,当原始HTML可见时会有明显的延迟。在较大的网页上尤其糟糕。有没有一种方法可以更早地执行它,而不会导致body为null的错误?
答案 0 :(得分:-2)
首先,javascript是客户端的。因此,您应该期望页面在DOM内部查找Hello
之前首先加载(或加载所需的DOM内容)。
第二,您正在使用浏览器扩展,因此应该期望触发器在外部运行。
为您获取:
由于您将其加载到页面中,因此速度会更快:
<p>Lorem Ipsum.</p>
<script>
document.body.innerHTML = document.body.innerHTML.replace('Lorem', 'Hi');
</script>