Script Error产生的原因及解法
Script Error
(脚本错误)是浏览器在加载或执行 JavaScript 时遇到异常,但因安全限制或其他原因无法提供具体错误信息(如错误类型、位置)的一种模糊提示。它通常表现为仅显示Script Error
而无详细堆栈,给调试带来困难。
一、产生 Script Error
的核心原因
Script Error
的本质是浏览器的跨域安全限制导致错误信息被屏蔽,具体场景如下:
-
跨域脚本执行错误
当页面中加载了来自不同域名 / 协议 / 端口的 JavaScript 文件(跨域脚本),且该脚本执行时发生错误,浏览器为保护隐私会隐藏具体错误信息,仅返回Script Error
。- 例:
https://a.com
的页面加载https://b.com/script.js
,若script.js
出错,会触发Script Error
。
- 例:
-
错误捕获方式不当
即使脚本同域,若使用window.onerror
捕获错误时未正确处理参数,也可能导致错误信息被简化为Script Error
。- 注:
window.onerror
对跨域错误的参数(如me
- 注: