赞
踩
当我们想通过浏览器访问我们本地文件时,会出现这种报错:
原因:
浏览器本身默认是不允许请求访问本地文件的,就假设浏览器可以随便访问本地文件的话,像我们C盘中很多操作系统安全系统的配置文件,而黑客啥的随随便便通过一个脚本文件就可以修改或者添加一些乱七八杂的文件在我们客户端上,那我们的电脑系统肯定很容易奔溃或者入侵,所以这也是跨域中限制的【不能本机访问】;同理就是浏览器中的跨域请求,细节可以看博客;
解决方法:
这里用的是谷歌(目前似乎只有chrome浏览器可以设置本机访问跨域),且以window操作系统进行讲解
① 右键谷歌浏览器,"属性"中打开文件所在位置,进入浏览器安装文件夹
② 在文件位置栏中启动cmd命令行,输入chrome.exe,确定是否能启动浏览器。如果不能请检查自己浏览器文件的路径是否正确
③ 然后关掉chrome浏览器,通过在命令行输入chrome.exe --disable-web-security --user-data-dir
|| chrome.exe --args --disable-web-security --user-data-dir
两种都可以试试;或者将这条指令粘贴到这条下图的目标中,注意有空格,这两种方式都是一样的,直接粘贴这种其实就相当于系统打开谷歌时执行了目标
里的指令而已
完成③后,打开谷歌浏览器(命令行的回车直接打开,粘贴的方法就双击谷歌打开即可),并且提示使用特殊 --dis…性能和安全性降低的提示,说明本机跨域解决了;
如果没有成功打开浏览器的话,原因一回车该命令行之前谷歌浏览器未关闭;原因二命令行输入错误或者缺少空行,要注意命令之间的空格;
完成上面三步,打开的chrome也就是通过把安全机制关闭后实现的同源政策;
应用场景:
主要是用于前后端测试联调阶段,那么在做前后台开发就可以把后台的数据接口,模拟成一个json文件到我们本地,通过chrome独有的安全性降低设置,达到访问本地文件就可以进行便捷的联调工作啦,这样也就不需要经常拉后端接口代码啥的,每次后台一改接口,自己本地环境又要去拉一次,现在通过这种就可以省去不少时间啦;
-------------------------------------------------------更新-------------------------------------------------------------
问题:
有人问如何关闭这种降低安全策略模式,其实原理很明显,你双击chrome.exe,其实你的电脑就执行了命令行的那句话chrome.exe --disable-web-security --user-data-dir
,所以只要在chrome浏览器属性里,目标里那段--disable-web-security --user-data-dir
删掉就行了,然后双击打开chrome就没有降低安全策略咯~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。