HTML5html5 棋牌游戏开发怎么离线

为了账号安全,请及时绑定邮箱和手机
html5离线存储缓存列表可以动态生成吗?
html5离线存储缓存列表可以动态生成吗?
写下你的评论...
Copyright (C) 2018 imooc.com All Rights Reserved | 京ICP备 号-11android中怎么使用html5离线功能? - ITeye问答
& 在android 的webview中加载html5页面,页面缓存可以实现,只要是在离线的情况下怎么实现离线提交,然后在在线的时候同步到服务器,我看书上写了html5有这个功能,但是没有详解,不知道怎么入手,麻烦大侠们指点一二,尽量详细点,谢谢!
页面提交的时候,js调用java代码,判断是否网络连接正常,如果没有网络,则在java代码中记录信息,当程序下次启动的时候或者定时判断网络是否正常,如果有网络连接,则在java代码里面用httpclient或者,java里面调用页面js代码进行提交
已解决问题
未解决问题离线缓存是Html5新特性之一,简单理解就是第一次加载后将数据缓存,在没有清除缓存前提下,下一次没有网络也可以加载,用在静态数据的网页或游戏比较好用。当然,Html5新的特性都不是所有浏览器都能支持的,离线缓存也一样。反正IE9(包括)及IE9以下的浏览器目前是不支持的。如果用在移动端,应该都能支持。检测是否支持离线缓存也是比较简单的。
if(window.applicationCache){
alert("支持离线缓存");
alert("不支持离线缓存");
使用起来也很简单。
①:首先要引入manifest文件。
&!DOCTYPE html&
&html lang="en" manifest="test.manifest"&
//就是在这里引入,注意引入也是讲究路劲跟文件名的,这里文件名是test,后缀是mainfest,路劲在当前的html下面(一般放在html当前文件夹下面也没什么问题,我是这么放的)
&meta charset="UTF-8"&
&title&Document&/title&
②:引入完了之后,接下来就是test.mainfest文件代码的编写了。
解析一下:以#开头的行表示的是注释。CACHE下面的都是缓存的文件,NETWORK表示每次都从网络请求,然后缓存,指定的文件总是从网络上请求最新的。FALLBACK:指定的文件若是找不到,会被重定向到新的地址。规范都是大写。
目前为止就实现了离线缓存,再也不用担心第二次打开还耗费流量了,用在静态的手机网页或是游戏比较好用。
③:缓存状态:window.applicationCache 对象是对浏览器的应用缓存的编程访问方式。其 status 属性可用于查看缓存的当前状态。
applicationCache.status的值如下:
  0 === 未缓存
  1 === 空闲(缓存为最新状态)
  2 === 检查中
  3 === 下载中
  4 === 更新就绪
  5 === 缓存过期
var appCache = window.applicationC
switch (appCache.status) {
  case appCache.UNCACHED: // UNCACHED == 0
    return 'UNCACHED';
    break;
  case appCache.IDLE: // IDLE == 1
    return 'IDLE';
    break;
  case appCache.CHECKING: // CHECKING == 2
    return 'CHECKING';
    break;
  case appCache.DOWNLOADING: // DOWNLOADING == 3
    return 'DOWNLOADING';
    break;
  case appCache.UPDATEREADY: // UPDATEREADY == 4
    return 'UPDATEREADY';
    break;
  case appCache.OBSOLETE: // OBSOLETE == 5
    return 'OBSOLETE';
    break;
  default:
    return 'UKNOWN CACHE STATUS';
    break;
&④:主动更新缓存:applicationCache.update()
//利用定时器隔一定时间自动更新一下缓存
setInterval(function(){
applicationCache.update();
⑤:介绍一下缓存相关的事件。
 1、updateready事件:当有新的缓存,并更新完以后,会触发此事件。
 例如代码:
applicationCache.addEventListener("updateready",function(){
alert("缓存更新完成");
 2、progress事件:当有新的缓存,并处于正在下载的过程中时,会不断触发此事件。progress中的event对象包含:loaded和total。loaded代表当前已经加载完成的文件,total为总共需要更新的文件数。
applicationCache.addEventListener("progress",function(){
alert(applicationCache.status); //3...
3表示正在下载
& &3、其他事件:
  checking事件:正在检查
  downloading事件:正在下载
  updatereadey事件:更新完成
  obsolete事件:缓存过期
  cached事件:空闲,缓存为最新状态
  error事件:报错
  noupdate事件:检查更新结束,没有需要更新。
&补充一点,如果你的页面有缓存,可以打开开发者工具,在console里面会看到缓存数据。
by the way , 尊重原创,有需转载,请写明出处。
阅读(...) 评论()1 public class MainActivity extends Activity {
private WebView mWebV
private static final String URL = "http://nus40g1.chinaw3.com/demos/fruit-ninja/";
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView = (WebView) findViewById(R.id.webview);
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);//用缓存用缓存,没有用网络
webSettings.setSupportZoom(true);
webSettings.setBuiltInZoomControls(true);
webSettings.setUseWideViewPort(true);//开启任意缩放比例
webSettings.setAppCacheMaxSize(appCacheMaxSize) 可以设置缓存大小
mWebView.setInitialScale(10);//初始缩放数值
mWebView.loadUrl(URL);
24 }很简单就这样就可以了.主要是那个cache模式设置一下.这里我引用了一个html5的水果忍者的游戏,测试可用.平台android 4.0.
阅读(...) 评论()}

我要回帖

更多关于 html5游戏源代码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信