突破浏览器本地文件限制

通过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 即可

完整操作如下:

  1. 关闭Chrome
  2. 打开终端
  3. cd 到Chrome可执行文件目录, 如忘记了, 可以通过chrome://version 查看可执行文件路径
  4. 输入命令: ./Google\ Chrome --allow-file-access-from-files(非Windows用户)

Safari

Safari需要设置一下

  1. 开发
  2. 停用本地文件限制

Firefox

Firefox自带突破限制功能

Fork me on GitHub