加载 js 脚本时发送 Origin header

Send Origin header while loading js scripts

我将我的静态文件存储在不同的域中,我希望我的远程静态服务器 returns 文件具有 CORS headers,但我的服务器应该 "Origin" header 请求允许 CORS headers。不幸的是 Chrome 和 FF 不发送这个 header 当我尝试用通常的方式加载我的 js 脚本时 <script type="text/javascript" src="https://my-another-static-server.com/js/script.js"></script>

当我在 Chrome 的网络面板中看到此请求时,我只看到这些请求 header: Accept:*/* Accept-Encoding:gzip, deflate, sdch Accept-Language:ru,en-US;q=0.8,en;q=0.6 Cache-Control:no-cache Connection:keep-alive Host:my-another-static-server.com Pragma:no-cache Referer:http://localhost:63342/example.html User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.71 Safari/537.36

我知道如果我们使用 XMLHttpRequest,浏览器会为 cross-domain 请求添加 Origin header,但这里我们使用本机浏览器技术发送请求。

有标签 crossorigin=anonymous 解决了这个问题。现在,当我加载脚本时,我的浏览器也会发送 Origin header.