原始页面上的JS错误是否会阻止chrome内容脚本运行

Can a JS error on the original page prevent a chrome content script from running?

本文关键字:chrome 运行 脚本 是否 错误 JS 原始      更新时间:2023-09-26

我有一个chrome内容脚本在几页上运行,其中包含console.log(没有其他内容)。我注意到有一个页面上的脚本没有运行(没有控制台输出)。这个页面唯一不同的地方是它的原始代码运行时出错。这可能是内容脚本没有在此页面上运行的原因吗?

有没有办法让它在出现错误的情况下运行?

Content脚本的脚本执行环境与页面不同。因此,网页中的运行时错误通常不会导致内容脚本出现任何问题,反之亦然。

然而,内容脚本可能只是因为不满足预期条件(不再满足)而停止工作。例如,文档中应存在一个元素,但找不到。反过来也可能是真的:内容脚本对页面进行修改,使其扩展到页面不再起作用。


页面的内容安全策略确实会影响内容脚本。这可能会导致意外的结果,例如阻止跨源请求(例如)。

这个页面唯一不同的地方是,它的原始代码运行时出现错误

错误可能会导致JavaScript程序无法运行。此外,脚本的位置可能也有问题。就像HTML一样,JavaScript从上到下运行。如果没有看到您的代码,就很难判断。

要修复它,你可以尝试将js移到html文件的更高位置,或者在浏览器错误控制台的帮助下解决错误。