【发布时间】:2016-07-12 20:52:21
【问题描述】:
我在 OS X 10.11.4 上运行 Chrome 版本 49.0.2623.108(64 位)。
从终端:
我跑了:
> ls /tmp
wtf.jpg
> ps -ef | grep -i chrome | grep -v grep
<empty line>
退出 Chrome 后,确保没有实例仍在运行。
然后我使用以下参数打开 Chrome 以跳过跨源检查:
> open /Applications/Google\ Chrome.app/ --args --allow-file-access-from-files"
我也试过了:
> open /Applications/Google\ Chrome.app/ --args --disable-web-security"
现在,我运行简单的 go 服务器:
package main
import "net/http"
func main() {
panic(http.ListenAndServe(":8080", http.FileServer(http.Dir("/tmp"))))
}
最后,我将 Chrome 指向 /tmp 中包含此脚本的本地 html5 页面:
var req = new XMLHttpRequest();
req.open('GET', "localhost:8080/wtf.jpg");
req.onload = function() {
console.log("succeeded");
};
req.onerror = function() {
Error("Network Error");
};
req.send();
结束这个错误:
XMLHttpRequest 无法加载 localhost:8080/wtf.jpg。跨原点 请求仅支持协议方案:http、data、chrome、 chrome-extension、https、chrome-extension-resource。
有没有办法解决这个烦恼?
【问题讨论】:
-
提供正确的 CORS 标头?
-
在为本地目录提供服务时如何在 go 中执行此操作?我尝试了其他的东西,比如跨域禁用插件。还是不行。
标签: javascript macos google-chrome go xmlhttprequest