chrome默认是不可以通过file协议加载文件的,当然,这里这样说不标准,并不是所有的情况都不可以通过file协议加载,比如,写了个本地的html,还是可以加载js,css,图片等资源的。但是在某些情况下通过file协议加载数据,就会报跨域问题。
比如目前我遇到以下两种情况:
一、学习ES6模块化的时候,加载本地模块,就会报跨域问题,例如,下面的代码:
<script src="./aaa.js" type="module"></script>
二、加载本地图片,用canvas获取像素数据的时候,调用getImageData方法时,就会报跨域错误。
解决方案:
方案一
既然是file协议加载,那么你肯定是想在本地测试用,这样可以通过设置chrome启动参数
(–allow-file-access-from-files)来解决。加上后重启chrome
方案二
搭建测试服务器环境