前端配置浏览器让静态页面也可以跨域 ------ 2019-05-28

一、什么是跨域问题

在页面中使用js访问其他网站或接口的数据时,就会出现跨域问题,比如在网站中使用ajax请求其他网站的天气、快递或者其他数据接口时,以及hybrid app中请求数据,浏览器会提 示以下错误:

XMLHttpRequest cannot load http://你请求的域名. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://当前页的域名' is therefore not allowed access。

二、为什么会出现跨域问题

因为浏览器受到同源策略的限制,当前域名的js只能读取同域下的窗口属性。

同源策略:不同的域名, 不同端口, 不同的协议不允许共享资源的, 保障浏览器安全。

同源策略是针对浏览器设置的门槛。如果绕过浏览就能实现跨域,所以说早期的跨域都是打着安全路数的擦边球,都可以认为是 hack 处理。

三、配置浏览器,绕开浏览器安全限制,实现跨域请求(我理解也就是关闭浏览器的同源策略,因此比较危险,只适合自己调试使用);

Windows用户

1、彻底关闭浏览器,并在任务管理器中确认没有相关的该浏览器进程在运行

2、在桌面浏览器的快捷方式处点击右键->属性

3、在打开的对话框中设置浏览器的启动属性,在目标栏粘贴一下命令:
--args --disable-web-security --user-data-dir

设置.png

4、关闭浏览器重新打开,记住一定要关闭后重新打开,当浏览器窗口出现下面的横条时就说明配置成功了:

image

此时你的浏览器就可以访问之前因为跨域问题不能访问的接口了,Windows用户设置后最好不要直接双击xx.html文件打开网页,而要先打开浏览器,而后再双击html文件或者在地址栏输入file://文件地址打开文件

你可能感兴趣的:(前端配置浏览器让静态页面也可以跨域 ------ 2019-05-28)