Mac上解决Chrome浏览器跨域问题
作者:本站编辑
发布时间:2018-06-28
来源:佚名
点击数:
最近做前端开发总是遇到一个很奇怪的现象,同一个AJAX请求,在Chrome里调试的时候就会提示跨域,但是在手机模拟器或者真机上调试的时候就不会,于是百度了一下,发现是Chrome的安全策略导致的,需要在后台设置一下
在网上找了半天,发现很多大家通用的方法在我这儿都不行,今天终于找到一个可行,在这里分享给大家
首先要说的是,我的版本是59的,也就是说是49以后的版本,所以49以后版本的朋友可以用我的这个方法,如果还是之前的老版本,网上其他的通用方法应该就是OK的
Google Chrome 版本号
首先给大家看看我的跨域报错信息,可能每个人的报错信息都不一样,总之确实是AJAX请求跨域导致的
AJAX请求跨域
我们要做的第一步,就是创建一个文件夹,这个文件夹是用来保存关闭安全策略后的用户信息的,名字可以随意取,位置也可以随意放
创建一个文件夹
然后打开控制台,输入下面这段代码
open -n /Applications/Google\ Chrome.app/ --args --disable-web-security --user-data-dir=/Users/LeoLee/Documents/MyChromeDevUserData 1
关闭安全策略代码
大家需要根据自己存放刚刚创建的文件夹的地址来更改上面的代码,也就是下面图中的红框区域,而网上大多数的教程中也正是缺少了这部分的代码导致很多用户在关闭安全策略时失败
用户需要根据自己的文件夹地址修改代码
输入代码,敲下回车,接下来Chrome应该会弹出一个窗口
Chrome弹窗
点击启动Google Chrome,会发现与之前的Chrome相比,此时的Chrome多了上方的一段提示,告诉你现在使用的模式并不安全
浏览器上方会多出一行提示
接下来可以将之前需要调试的程序页面复制粘贴到新打开的浏览器中,可以看到AJAX跨域的问题已经解决了,数据能够获取到了
AJAX跨域解决
最后还有一个问题就是如何重新开启安全策略,在网上找了很久也没找到,如果大家有谁知道该怎么操作的话,也麻烦在评论里留言教教我,谢谢
1、关闭chrome浏览器所有窗口。
2、终端用命令行启动 open -a Google\ Chrome --args --disable-web-security
启动后如下图则代表成功开启跨域访问权限