我有一个调用脚本的 HTML 文件。
这个脚本是外部的,它调用其他脚本给我以下错误:
test.min.js?v=5&lang=en&key=5454545:192 从源“null”访问“file://test.com/maps/data_en.json”的 XMLHttpRequest 已被 CORS 策略阻止:跨源请求是仅支持协议方案:http、data、chrome、chrome-extension、https。
如果我在 Web 服务器上运行 HTML,这个问题就解决了,但是我希望用户能够打开 HTML 并直接在本地运行它,而不需要 Web 服务器。
我能做些什么来避免这个错误,还是我只是在访问外部脚本的混乱中?
从你的错误:
XMLHttpRequest 字面意思是“获取 XML 的 HTTP 请求”。虽然首字母缩写词 AJAX 在 XML 方面已经过时(您可以请求 JSON 或任何其他数据类型/格式),但没有改变的是发出 HTTP 请求。
只有 HTTP 服务器能够响应 HTTP 请求,因此尝试通过 AJAX 调用加载本地文件总是会失败,即使 Javascript 文件没有 CORS 问题。
我留给你 chrome 的解决方案,你必须在控制台中执行以下命令,它将执行一个禁用 CORS 锁的浏览器窗口。
来源: https ://alfilatov.com/posts/run-chrome-without-cors/