Chrome浏览器HTML支持本地(file协议)的AJAX请求

本文介绍了解决在使用file协议时遇到的跨域问题的方法,包括在不同操作系统下的Chrome浏览器配置,以及通过安装特定插件来实现跨域访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题

在运行html demo页面时,当demo页面中使用file来引入js(jQuery)来进行ajax请求资源时,会出现如下错误:

Access to XMLHttpRequest at 'file:///Users/zzs/develop/softs/dwz/dwz_jui/dwz.frag.xml?_=1553419402393' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.

原因很简单,浏览器(Webkit内核)的安全策略决定了file协议访问的应用无法使用XMLHttpRequest对象。尝试了一下Firefox浏览器,没有发现此问题。

跨域请求仅支持协议:http, data, chrome, chrome-extension, https, chrome-extension-resource

解决方法

设置Chrome浏览器,让其支持file协议的方案。

Windows下:
设置Chrome的快捷方式属性,在“目标”后面加上–allow-file-access-from-files,注意前面有个空格,重新打开Chrome即可。

Mac下:
1、创建MyChromeDevUserData文件夹,用来保存关闭安全策略后的用户信息的,名字可以随意取,位置也可以随意放。

在这里插入图片描述
2、关闭安全策略代码

打开命令行窗口,执行如下命令。注意,此处需要修改对应路径。

open -n /Applications/Google\ Chrome.app/ --args --disable-web-security  --user-data-dir=/Users/LeoLee/Documents/MyChromeDevUserData 

在这里插入图片描述
回车之后,Chrome会弹出如下窗口:
在这里插入图片描述

重新打开浏览器,即可正常访问:
在这里插入图片描述

chrome插件解决

在插件商城搜索,获得如下插件:

具体使用方法参考,插件的相关操作描述。
在这里插入图片描述


程序新视界

关注程序员的职场生涯,大量优质学习资源

csdn-微信公众号

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序新视界

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值