袁来如此的工作笔记
袁来如此的工作笔记
竹杖芒鞋轻胜马,谁怕? 一蓑烟雨任平生。

解决Cross origin requests are only supported for protocol schemes的三种办法

浏览量:184

why:

问题就是浏览器在访问本地js文件的时候遇到了跨域的问题,我们这种引入方式属于file协议,但是上面的报错信息提示是:

Cross origin requests are only supported for protocol schemes: http, data, chrome,chrome-extension, https.

其实翻译成人话就是,本地跨域仅支持ajax跨域只支持这些协议框架:http,https,data,chrome(Chrome浏览器),chrome-extension(Chrome扩展插件),chrome-extension-resource(Chrome扩展资源),就是没有file协议!用了jsonp这种跨域json数据交互协议也没有,人家ajax就只支持那几个协议,并且jsonp交互协议也非官方正式的。

所以我们只要顺着这个思路解决就好了

how:

1.增加目标选项

对于windows来说,找到chrome的快捷方式,在属性–>目标里面添加–allow-file-access-from-files就可以了

2.放到服务器上运行

既然本地跑不通,我们就放在服务器程序上,然后通过访问服务器接口是可以的

3.使用anywhere插件

这个是一个npm的插件

可以使用npm安装

$ npm install anywhere -g 

最好是全局安装,这样以后用也方便,然后切换到html文件所在的文件夹,运行

$ anywhere 

运行后一般会自动跳转到浏览器上,终端上会显示一个运行的网址,你也可以在其他地方调试。
打赏