当前位置:首页 > 开发 > Web前端 > Html5 > 正文

android关于加载本地html5的问题

发表于: 2014-04-10   作者:asialee   来源:转载   浏览次数:
摘要:       在做项目的时候,发现了一个棘手的问题,就是在有的手机上加载本地html5会报错,报的错误是         XMLHttpRequest cannot load file://mnt/sdcard/WisdomTraval/taagoo.flash/30/tour.xml. Cross origin re
      在做项目的时候,发现了一个棘手的问题,就是在有的手机上加载本地html5会报错,报的错误是
 
      XMLHttpRequest cannot load file://mnt/sdcard/WisdomTraval/taagoo.flash/30/tour.xml. Cross origin requests are only supported for HTTP.
js/libs/text.js:7Uncaught Error: NETWORK_ERR: XMLHttpRequest Exception 101
   刚开始看见这个问题我一头雾水,根本不知道从哪儿着手,我就在百度上搜这个错误的相关信息,在网上查阅了资料才发现是浏览器的安全性设置问题,因为android手机的默认浏览器都是webkit内核的,而webkit内核的浏览器默认是禁止从本地ajax加载文件的。这样,我有了初步的解决思路,就是更改手机上的浏览器安全性设置,当我在网上查阅了资料后才发现只有PC端浏览器的属性设置解决方案,android手机没有给用户提供相应的权限。
   再三思考,我决定在加载之前先看看手机上有没有安装不是webkit内核的浏览器,如果有,就用不是webkit内核的浏览器加载,如果没有就提醒用户下载相应的浏览器或者从服务器上加载html5。在网上查了一下,发现android手机的默认浏览器均采用webkit作为浏览器内核,只有firefox采用的是GekCo内核,微软的IE系列使用的是Trident内核,而QQ浏览器一部分使用的是webkit内核,一部分是其他内核。于是,我就在测试机上安装了一个firefox,我手动加载了一下本地的html5,奇迹果然出现了,动景正常加载。趁热打铁,我就执行了一下程序,结果还是很令人失望,报的还是原来的错误,此时我的心情落到了低谷。
    我再看看程序,我是用webview加载的本地html5,我就看了一下webview的官方api,我看到了这样一句话
       This class is the basis upon which you can roll your own web browser or simply display some online content within your Activity. It uses the WebKit rendering engine to display web pages 。
    · 原来webview也相当于一个浏览器,使用webkit作为渲染引擎,这才发现使用webview加载本地html5和手机的外部浏览器没有关系,这样问题又回到了原点,我百思不得其解,为什么同样是webkit内核,在有的手机上就可以加载本地html5,而有的手机就禁止加载本地html5,究其原因就是webkit内核默认是禁止加载本地html5,有的厂商修改了安全性设置,就可以加载了。
     现在原因基本上已经确定了,就是webkit内核禁止加载本地html5,还有浏览器的安全性设置问题,知道了原因,下一步就是解决问题,解决的方案后面再总结。

android关于加载本地html5的问题

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
在网上看了许多关于WebView 的例子。但当自己做起来时,总是有些差别,是另一种体会。这节我就以 模
首先先建布局文件,界面很简单,就是一个搜索框和下面的联系人列表: <?xml version="1.0" encodi
public voidloadData(Stringdata,StringmimeType,Stringencoding) 则会出现html代码中图片路径不对
为什么需要延迟加载? 因为会提高效率嘛,存在即合理,哈哈.一般设置延迟加载就是在对象关系映射上(在
关注微信号:javalearns 随时随地学Java 或扫一扫 随时随地学Java 有时候应用需要将数据写入到设备
WPToolkit中的ToggleSwitch开关控件是比较常用的控件,之前在做的的时候遇到一个问题,默认语言改为
一:前几天公司购买了一台阿里云服务器,让我把之前的项目都移到阿里云服务器上,我为此专门的研究
我的问题: 近期研究Phonegap的相关技术,遇到了服务资源访问的跨域。经过尝试使用服务器端的代理,
问题: mediaelement js(html 5 视频插件)网页用ie9本地打开可以,iis,vs2010在ie9上运行不了,chrome
< ![CDATA[ 1. html本地存储操作 首先引用 <script src="Scripts/jquery-2.0.0.js"></s
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号