chrome disable-web-security 关闭安全策略 解决跨域
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 的快捷方式, 并且关闭所有的chrome浏览器
- 设置参数,关闭 同源策略
--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】前端技术文章汇总