1.前言
上一篇文章我们介绍了跨域和同源策略,如果还不了解跨域和同源策略的同学,可以去看一下,链接如下:跨域哪些事——1.如果没有跨域,世界会是怎样? - 文章 - 开发者社区 - 火山引擎 (volcengine.com)
今天我们说一下跨域的一个解决方案:修改浏览器配置,本文以常用浏览器chrome为例。
2.修改浏览器配置
当前我使用的chrome版本是110.0.5481.104。
在电脑上新建目录,例如:D:\ChromeData
在桌面找到chrome的快捷方式,右击打开属性,在目标输入框中添加--disable-web-security --user-data-dir=D:\ChromeData,--user-data-dir的值就是刚才新建的目录。
再次打开chrome,会有以下的提示"您使用的是不受支持的命令行标记: --disable-web-security。稳定性和安全性会有所下降".
再发一个ajax的跨域请求,发现已经没有以下的错误了,证明已经可以跨域了。
3.总结
Edge浏览器由于使用的是chrome内核,是相同的方法即可。
关于火狐浏览器,网上有设置about:config的security.fileuri.strict_origin_policy选项的方案,我在最新的火狐浏览器(110.0版本)中使用并没有效果,火狐现在只能使用浏览器扩张来做跨域的设置。
修改浏览器配置优势是通过不用在代码上做修改,从浏览器层面解除限制,无论是dom操作、读取cookie、ajax请求都可以,适用性强。
修改浏览器配置缺点是需要访问web的每一个用户进行修改,只适合个人开发或公司内部使用,不适合大规模应用。而且修改了浏览器设置,虽然自己方便了,单因为安全性降低也有可能被黑客攻击。