让 Chrome 浏览器支持本地访问数据
让 Chrome 浏览器支持本地访问数据
具体解释与实现方式
经典的ajax
所支持的协议不包括file
协议,也就是本地访问文件。为了让Chrome
可以直接调用本地的数据,可以按照以下的设置实现。
找到装在电脑内的Google Chrome
,并在其属性状态栏内的快捷方式->目标栏中添加代码:--allow-file-access-from-files
。注意在填写时要注意前面要加上空格。
如果控制台报出以下的错误,那么就可以判断是跨域浏览的问题了。
Access to XMLHttpRequest at ‘文件地址’ from origin 'null' has been blocked by CORS policy:
Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.
点此阅读关于--allow-file-access-from-files
的文章。
为什么不能直接通过点击 index.html 文件的方式来启动 mv 项目?
因为浏览器打开index.html
文件时,使用的是file 协议,而不是ajax
所支持的协议,而且 mv 项目本身一定会导入.json
文件,这就共同触发了跨域浏览问题。当前浏览器的file 协议无法访问本地.json
数据。
解决这种问题的方式,这里笔者介绍两个。
使用 ajax 所支持的协议来打开 html 文件
指的是,可以使用 http 的协议来访问该文件。具体做法是:搭建一个本地的服务器,进而访问文件。原理是如此的,具体实现操作可以参考vscode 调试 mv。
设置浏览器,使其支持 file 协议的浏览
关于此方案,可以参考让 Chrome 浏览器支持本地访问数据。