(未知):JavaScript 中的脚本错误

2025-06-07

(未知):JavaScript 中的脚本错误

如果有人试图违反你设置的规则,你会怎么做?向他发送脚本错误。

但在现实生活中并非如此。😉

但是在 JavaScript 中,如果您尝试违反同源策略,浏览器将向您发送“脚本错误”。

JavaScript 代码中何时发生脚本错误?

当在 onerror 回调中发生的异常违反了浏览器的同源策略时,浏览器会以“脚本错误”进行响应。

同源策略:根据同源策略,浏览器只接受两个不同网页上托管在同一服务器上的脚本。

每个浏览器都有一组可接受的,或者说是必需的“请求标头”。当你在服务器上发出任何请求时,它都应该包含这些必需的请求标头。否则,你将面临脚本错误。

嗯,这是浏览器为了防止脚本泄露到外部域名而故意为之的行为。毕竟没人愿意接受这些不必要的请求 😉 你们呢?

我遇到了 JavaScript 脚本错误,该怎么办?
如果您也遇到同样的问题,请尝试以下可能的解决方案。

1. 设置跨域 HTTP 标头
Access-Control-Allow-Origin: *

通过设置Access-Control-Allow-Origin:为“ * ”,您可以确保可以从任何域访问该资源。如有必要,您还可以将“ * ”替换为您希望访问您域脚本的特定域名。

在不同的环境下,有不同的方法将其设置为*。

  • Apache:在提供 JS 文件的文件夹中创建一个 .htaccess 文件:Header add Access-Control-Allow-Origin "*"
  • Ngnix:添加 add_header 指令如下:
    位置 ~ ^/assets/ {
    添加标头访问控制允许来源*;
    }
    
  • HA 代理:添加此资产: rspadd Access-Control-Allow-Origin:\ *

2. 设置 crossorigin=”anonymous”
对于 HTML 脚本中设置了 Access-Control-Allow-Origin 的每个脚本,请设置
crossorigin="anonymous"

<script src="http://another-domain.com/app.js" crossorigin="anonymous"></script> 

此代码告诉您的浏览器匿名获取目标文件,避免在浏览器请求时传输任何用户识别信息,如 HTTP 凭据或 cookie。

如果您在 JavaScript 代码中遇到任何脚本错误,希望本文能够有所帮助。

最初发表于此处

相关文章:

  1. 引用错误:JavaScript
  2. 常见的 JavaScript 错误及其处理方法
  3. 使用浏览器的开发者控制台调试 JavaScript
文章来源:https://dev.to/lambdatest/unknown-script-error-in-javascript-58p7
PREV
你在新工作编程中可能犯的另外 10 个错误(第二部分)
NEXT
2019 年顶级 JavaScript 框架