通过file协议打开本地html时, 如果使用ajax获取本地文件, 以Chrome为例, 会遇到以下错误:
XMLHttpRequest cannot load file:///city.json.
Cross origin requests are only supported for protocol schemes:
http, data, chrome, chrome-extension, https, chrome-extension-resource.
下面将介绍解决方案
Chrome
Chrome需要先关闭, 再以命令行的方式启动, 在后面添加参数 --allow-file-access-from-files
即可
完整操作如下:
- 关闭Chrome
- 打开终端
- cd 到Chrome可执行文件目录, 如忘记了, 可以通过
chrome://version
查看可执行文件路径 - 输入命令:
./Google\ Chrome --allow-file-access-from-files
(非Windows用户)
Safari
Safari需要设置一下
- 开发
- 停用本地文件限制
Firefox
Firefox自带突破限制功能