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

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

     


  2. 设置参数,关闭 同源策略
    --args --disable-web-security 

     

  3. 打开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】前端技术文章汇总

posted @ 2016-04-21 10:45  那年、仲夏  阅读(85449)  评论(1编辑  收藏  举报