由于浏览器的同源安全策略,会导致不在一个域名下的接口在页面上无法调用,在开发环境时经常会遇到跨域,这时我们可以关闭浏览器的同源安全策略 ,方便开发。
先说mac的方法,再说win。
在mac上,需要写一个小小的启动脚本放在桌面上:
1.打开任意目录,新建一个文件夹用来存放关闭同源策略后的谷歌浏览器用户数据,建议放 Documents目录,名字随意,建议语义化一点,例如ChromeDevUserData。为什么新建这个文件夹呢,就是不想影响正常的浏览器,像书签啊历史记录啊缓存啊等都放在这个副本文件夹里。
2.打开终端,切换到Desktop桌面目录,新建一个脚本文件,名字也建议语义化:
cd Desktop
touch chorme-debug.command
3.用vim打开这个空脚本,算了,直接右键用文本编辑打开吧,写上启动谷歌浏览器的命令,并带上一些参数,后面那个路径要写上一开始创建的那个文件夹的路径,把用户文件夹的名字替换即可,--disable-web-security表示关闭浏览器同源策略,--user-data-dir=用来指定浏览器用户数据的存放位置:
#! /bin/bash
open -n /Applications/Google\ Chrome.app/ --args --disable-web-security --user-data-dir=/Users/yyl/Documents/ChromeDevUserData
4.打开终端切换到桌面,给这个创建好的脚本赋予755或者777权限,unix系统的文件权限是三位数,第一个数字表示此设备现在用户的权限,第二个数字表示此设备其他用户的权限,第三个数字表示访客用户的权限。7是最高权限:可读可写可执行,5是可读可执行,还有6、4、2、1、0就不一一解释了。
chmod 755 chorme-debug.command
5.在桌面双击这个脚本运行,启动了谷歌浏览器,并且不受跨域限制,之后需要跨域调试时就通过双击这个脚本打开浏览器。
6.启动脚本后终端如果没有自动关闭,在终端的偏好设置-描述文件-Shell里选上‘当Shell完全退出后关闭’:
再来讲讲win的,win就比较简单了,先在任意位置建立ChromeDevUserData,直接复制一个谷歌浏览器的快捷方式,然后重命名作区分,例如叫ChromeDebug,然后右键-属性,在目标那一栏追加:
--user-data-dir="c:\ChromeDevUserData" --test-type --disable-web-security
上面追加的信息里的路径换成刚刚建立的文件夹路径,之后点这个快捷方式打开谷歌浏览器就可以跨域访问了,完美。