您好,欢迎来到12图资源库!分享精神,快乐你我!我们只是素材的搬运工!!
  • 首 页
  • 当前位置:首页 > 网站教程 > HTML教程 >
    基于HTML5构建Web操作系统(10)
    时间:2016-07-13 21:12 来源: 作者: 浏览:收藏 挑错 推荐 打印
  •         // 重画时针  
  •     context.beginPath();   
  •     context.moveTo(0,0);// 从原点开始    
  •     var date = new Date();   
  •     var hour = date.getHours();   
  •     if(hour>=12)   
  •     hourhour = hour - 12;   
  •     var minute = date.getMinutes();   
  •     var hhx = 27*Math.cos((hour-3)*Math.PI/6 + minute*Math.PI/360);   
  •     var hhy = 27*Math.sin((hour-3)*Math.PI/6 + minute*Math.PI/360);   
  •     context.lineTo(hhx, hhy);// 至时针末端所在位置  
  •     context.closePath();   
  •     context.stroke();   
  •     };   
  •     worker.postMessage("");  
  • 每过60秒钟,后台线程将会向前台线程发送一个空消息,前台线程接 收到消息后,首先,清空canvas,然后重新获取当前时间,计算分针以及时针对应的坐标,并重新画出时针和分针,从而完成对分针以及时针的更新,最终, 每过1分钟,表盘更新一次,从而模拟出动态时针的效果,如图10所示。
    基于HTML5构建Web操作系统
    图10.时钟
    离线支持
    虽然Web操作系统的优点是可以利用网络随时随地进行访问。然而在 无法访问网络的情况下,Web操作系统便无法发挥作用。因此Web操作系统有必要在离线状态下,仍能对部分应用及其功能进行支持。事实上,各种浏览器已提 供了各式各样的缓存机制以提供对离线应用的支持,然后这些缓存机制往往是临时性的,不可控的。HTML5为开发人员提供了解决此问题的另一种途径,它提供 了一种永久性的,自定义的缓存方法,使得Web操作系统可以在离线的状况下,依然支持部分应用的功能。
    HTML5离线支持的核心是一个缓存清单,其中列出了需要缓存的文件,本系统中的缓存文件index.manifest,如清单19所示。
    清单 19.缓存清单
    1. CACHE MANIFEST   
    2.  #version 1.10   
    3.  CACHE:   
    4.  index.html   
    5.  js/app.js   
    6.  js/clock.js   
    7.  js/data.js   
    8.  js/database.js   
    9.  js/desktop.js   
    10.  js/history.js   
    11.  js/taskbar.js   
    12.  js/timer.js   
    13.  js/file.js   
    14.  js/utils.js   
    15.  css/index.css   
    16.  images/appHolder1.png   
    17.  images/background.jpg   
    18.  images/clock.png   
    19.  images/close.gif   
    20.  images/computer.gif   
    21.  images/history.png   
    22.  images/network.gif   
    23.  images/recycleBin.gif   
    24.  images/startIcon.png   
    25.  images/taskBar.png   
    26.  images/vidioplayer.gif   
    27.  images/notebook.gif   
    28.  images/text.gif   
    29.  images/save.gif   
    30.  movs/movie.ogg   
    31.  sounds/WindowsLogonSound.wav  
    其中,CACHE MANIFEST标示本文件为缓存文件,#version 1.10标示了本文件的版本。
    CACHE之后所罗列的则是开发人员自定义的内容,其中包含了所有在离线状态下用户访问应用程序所必不可少的文件。
    缓存清单定义结束后,在index.html中插入这个清单文件名,这样,当浏览器加载这个页面的时候,会自动缓存清单文件中所罗列的文件。
    清单 20.应用缓存清单
    1. <html manifest="index.manifest">  
    值得一提的是,若要支持离线缓存,除客户端浏览器的支持以外,服务端的支持也是必不可少的,就本系统所使用的tomca 而言,需要在其配置文件web.xml中添加清单 21 所示的条目。
    清单 21.服务器端缓存配置
    1. <mime-mapping>   
    2. <extension>manifest</extension>   
    3. <mime-type>text/cache-manifest</mime-type>   
    4. </mime-mapping>  
    最后,禁用本地机器的网络,重新打开浏览器并访问Web操作系统所在的网址,系统中的大部分应用程序依然可以正常工作,如图11所示。

    (责任编辑:12图资源库)