一些网页调试的时候需要访问调用本地的文件或者访问本地的js文件,但是浏览器禁止跨域访问,报错一般类似于:
cross origin requests are only supported for schemes
等
这个是浏览器考虑到用户安全,访问网页非法访问用户本地文件导致用户被“偷窥”的事情发生而做的限制。
但是个人做网页开发有时确实需要访问本地文件
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.pngWindows用户
1、彻底关闭浏览器,并在任务管理器中确认没有相关的该浏览器进程在运行
2、在桌面浏览器的快捷方式处点击右键->属性
3、在打开的对话框中设置浏览器的启动属性
image.png注意此处需要添加的内容与MAC相同,在原有命令后添加如下内容:
--args --disable-web-security --user-data-dir
即可,点击确定后双击启动浏览器。
注意:Windows用户设置后最好不要直接双击xx.html文件打开网页,而要先打开浏览器,而后再双击html文件或者在地址栏输入file://文件地址打开文件
网友评论