您的位置:首页 > 其它

chrome disable-web-security 关闭安全策略 解决跨域

2016-04-21 10:45 513 查看

Chrome 跨域访问线上接口


时间:2016-04-21
作者:zhongxia

前后端分离之后,联调的时候就会出现问题,那就是Ajax跨域问题。 跨域问题的解决方案有很多种
比如常规的 后端使用CROS,设置允许访问接口的地址 或者 使用 JSONP等等。
这里就不说前端常规的跨域解决方案,而是提供一个奇葩的方案,简单到哭😢。



更新 2016年9月30日 11:01:24


经测试,发现 chrome53 使用在 chrome快捷方式 的属性里面 添加 --disable-web-security --user-data-dir 不起作用。需要使用在命令行下打开


一、命令行打开方式

"C:\Users\UserName\AppData\Local\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir


//不知道chrome.exe 地址的话
右键chrome图标-->属性-->如下图-->图中 目标 就是文件的位置了,直接复制出来即可

更新 2016-04-21 10:57:10

通过命令行启动chrome:

open -a "Google Chrome" --args --disable-web-security --user-data-dir


出现如下提示则说明成功,然后就随意的调用不同域下的数据了。
chrome 48 命令行启动不支持设置跨域了,想要跨域,还需要需要在加上
—user-data-dir


前后端跨域解决方案


可以通过使用chrome命令行启动参数来改变chrome浏览器的设置,具体的启动参数说明参考这篇介绍。
https://code.google.com/p/xiaody/wiki/ChromiumCommandLineSwitches

这里介绍的是--disable-web-security参数。这个参数可以降低chrome浏览器的安全性,禁用同源策略,利于开发人员本地调试。


这里提供一个更简单的跨域解决方案, 设置Chrome浏览器的 disable-web-security, 实现跨域访问后端的接口。

window

新建一个 chrome.exe 的快捷方式, [b]并且关闭所有的chrome浏览器


[/b]

设置参数,关闭 同源策略

--args --disable-web-security


打开chrome浏览器之后效果如下



mac

//chrome 浏览器
open -a "Google Chrome" --args --disable-web-security --user-data-dir
//safari 浏览器
open -a '/Applications/Safari.app' --args --disable-web-security--user-data-dir


linux

chromium-browser --disable-web-security


您可能还感兴趣

1. 【GITHUB】前端技术文章汇总
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: