浏览器禁止跨域访问解决办法

一些网页调试的时候需要访问调用本地的文件或者访问本地的js文件,但是浏览器禁止跨域访问,报错一般类似于:
cross origin requests are only supported for schemes

image.png

这个是浏览器考虑到用户安全,访问网页非法访问用户本地文件导致用户被“偷窥”的事情发生而做的限制。

但是个人做网页开发有时确实需要访问本地文件

MAC 用户

1、首先彻底关系浏览器,注意仅仅关闭还不行,应该使用Command+Q彻底关闭,或者在docker中右击浏览器点击Force Quit,如图:

image.png

总之要保证浏览器下方没有黑点,以Safari浏览器为例:

NO!!!.png

浏览器下方依然有黑点表示浏览器依然在后台运行,必须使用上述方法彻底关闭。

2、然后打开终端,输入一下命令打开浏览器
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

注意:一些老版的Chrome不需要使用--user-date-dir参数,只需要前面的即可,但是新版的Chrome中--user-date-dir参数也是必须的

3、在新打开的浏览器中,应该会有以下如图所示的提示(Chrome为例),证明已经成功禁用了web安全,此时再打开网页,发现就可以成功运行本地js了或者访问本地其他文件了。

image.png

Windows用户

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

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

3、在打开的对话框中设置浏览器的启动属性

image.png

注意此处需要添加的内容与MAC相同,在原有命令后添加如下内容:
--args --disable-web-security --user-data-dir
即可,点击确定后双击启动浏览器。

注意:Windows用户设置后最好不要直接双击xx.html文件打开网页,而要先打开浏览器,而后再双击html文件或者在地址栏输入file://文件地址打开文件

推荐阅读更多精彩内容

  • 一、基础知识篇:Http Header之User-AgentUser Agent中文名为用户代理,是Http协议中...
    iPhone阅读 13,126评论 0 13
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 129,423评论 18 137
  • 1、第八章 Samba服务器2、第八章 NFS服务器3、第十章 Linux下DNS服务器配站点,域名解析概念命令:...
    哈熝少主阅读 3,070评论 0 10
  • 第二组 429351861 我与他相识在2013年初,他是来自大山的孩子,纯朴,孝顺。 我开始理财要追溯到七年前的...
    安儿CC阅读 100评论 0 6
  • 各算法压缩行数与压缩比例的比较 声明 压缩对象是一个大小为1.7M的csv文件,总共6829行,每行74列,即一行...
    泽林呗阅读 374评论 0 0
  • 知己以过三年载,此情可待成追忆, 垂死病中惊坐起,孤风吹雨入寒窗。 安知与君相诀绝,知者生死作相思 此生不过大梦场...
    千山万水独步寻花阅读 639评论 0 0