加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

错误:XMLHttpRequest cannot load file

发布时间:2020-12-16 00:58:24 所属栏目:百科 来源:网络整理
导读:错误现象: 下载了jQuery UI的插件Wijmo,然后在本地运行,但是Chrome浏览器无法显示部分效果,无法加载部分文件(通过审查元素―控制台查看),Firefox中显示正常。 错误信息: XMLHttpRequest cannot load file:///home/cf/IdeaProjects/fei/src/Wijmo-Pro.

错误现象:

下载了jQuery UI的插件Wijmo,然后在本地运行,但是Chrome浏览器无法显示部分效果,无法加载部分文件(通过审查元素―>控制台查看),Firefox中显示正常。

错误信息:

XMLHttpRequest cannot load file:///home/cf/IdeaProjects/fei/src/Wijmo-Pro.3.20131.7/Samples/WidgetExplorerMobile/samples/bubblechart/overview.html. Origin null is not allowed by Access-Control-Allow-Origin.

原因:

Chrome浏览器不支持本地ajax访问,具体就是ajax不能访问file这样的,估计发布就可以了

解决办法:

有以下3种解决办法:

一、将整个目录放到tomcat服务器的webapps目录下,启动tomcat服务器,浏览器中输入localhost:8080/A/a.html(这种方法最简单)


二、将html5的程序做成 chrome的扩展程序,该扩展程序的扩展文件名为.crx.

例如我想访问A目录下的a.html后发生错误,则进行如下操作(这种方法存在一个缺陷:每次更改html页面内容后需要重新打包扩展程序):

1,在程序根目录(/A)下面增加一个manifest.json 文件:

文件格式为:

{

"name": "DemoApp",

"description": "Demo",sans-serif;font-size:14px;line-height:25px;text-align:left;background-color:white"> "version": "0.1",sans-serif;font-size:14px;line-height:25px;text-align:left;background-color:white"> "app": {

"launch": {

"local_path": "***.html"

}

},sans-serif;font-size:14px;line-height:25px;text-align:left;background-color:white"> "permissions": [

"unlimitedStorage"

]

}

2,将该程序利用chrome打包。打开chrome,在设置按钮中选择工具>扩展程序,或者在地址栏输入chrome://extensions/. 如图:



3,点击扩展程序,开始打包html程序:


4.点击浏览到/A目录下,私有密钥文件可忽略,打包扩展程序

5.弹出对话框打包成功,显示A.crx所在位置。成功后,来到/A目录的上一级目录,可以看到A.crx文件。

将该文件直接拖拽到chrome浏览器中,在浏览器下部区域会弹出如下所示对话框,选择继续。

6.弹出对话框如下所示:点击添加。

7.浏览器将自动打开一个新标签页,如下图所示,点击DemoApp的图标

8.浏览器会出现如下图所示错误信息:(此属于正常)

9.这时在浏览器中输入如上图所示url。此处我输入chrome-extension://bbbhibcamhjnikmjlibhinpkamoddnlh/a.html

即会显示/A/a.html的内容信息,成功。

<!--[endif]-->

参考:http://www.iteye.com/topic/825714,里面是让Chrome支持本地ajax访问


三、修改chrome的属性值。

此方法适应于任何系统,只是不同系统的操作方法不同,此处由于本人使用的linux系统,仅提供linux下操作方法。

首先,关闭chrome浏览器。

其次,打开终端terminal。

再次,输入命令google-chrome --disable-web-security或者google-chrome --allow-file-access-from-files,将触发系统重新启动chrome浏览器,此时直接输入file:///home/cf/A/a.html就可以看到正常显示效果。


参考网址:

http://stackoverflow.com/questions/3595515/xmlhttprequest-error-origin-null-is-not-allowed-by-access-control-allow-origin

http://stackoverflow.com/questions/3102819/chrome-disable-same-origin-policy

希望能给同样遇到此问题的朋友们起到一点帮助~^_^

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读