.在用户没有与因特网连接时,可以正常访问站点或应用。
2.在用户与因特网连接时,更新用户机器上的缓存文件。
原理:HTML5的离线存储是基于一个新建的.appcache文件的缓存机制(不是存储技术),通过这个文件上的解析清单离线存储资源,这些资源就会像cookie一样被存储了下来。之后当网络在处于离线状态下时,浏览器会通过被离线存储的数据进行页面展示。
如何使用:
一、页面头部像下面一样加入一个manifest的属性;
二、在cache.manifest文件的编写离线存储的资源;
CACHE MANIFEST #v0.11 CACHE: js/app.js css/style.css NETWORK: resourse/logo.png FALLBACK: / /offline.html
离线存储的manifest一般由三个部分组成:
1.CACHE:表示需要离线存储的资源列表,由于包含manifest文件的页面将被自动离线存储,所以不需要把页面自身也列出来。
2.NETWORK:表示在它下面列出来的资源只有在在线的情况下才能访问,他们不会被离线存储,所以在离线情况下无法使用这些资源。不过,如果在CACHE和NETWORK中有一个相同的资源,那么这个资源还是会被离线存储,也就是说CACHE的优先级更高。
3.FALLBACK:表示如果访问第一个资源失败,那么就使用第二个资源来替换他,比如上面这个文件表示的就是如果访问根目录下任何一个资源失败了,那么就去访问offline.html
三、在离线状态时,操作window.applicationCache进行需求实现。
着Web App的发展,越来越多的移动端App使用HTML5的方式来开发,除了一些HybridApp以外,其他一部分Web App还是通过浏览器来访问的,通过浏览器访问就需要联网发送请求,这样就使得用户在离线的状态下无法使用App,同时Web App中一部分资源并不是经常改变,并不需要每次都向服务器发出请求,出于这些原因,HTML5提出的一个新的特性:离线存储。通过离线存储,我们可以通过把需要离线存储在本地的文件列在一个manifest配置文件中,这样即使在离线的情况下,用户也可以正常使用App。
首先来讲解下离线存储的使用方法,说起来也很简单。只要在你的页面头部像下面一样加入一个manifest的属性就可以了。
<!DOCTYPE HTML> <html manifest = "cache.manifest"> ... </html>
然后cache.manifest文件的书写方式,就像下面这样:
CACHE MANIFEST #v0.11 CACHE: js/app.js css/style.css NETWORK: resourse/logo.png FALLBACK: / /offline.html
离线存储的manifest一般由三个部分组成:
1.CACHE:表示需要离线存储的资源列表,由于包含manifest文件的页面将被自动离线存储,所以不需要把页面自身也列出来。
2.NETWORK:表示在它下面列出来的资源只有在在线的情况下才能访问,他们不会被离线存储,所以在离线情况下无法使用这些资源。不过,如果在CACHE和NETWORK中有一个相同的资源,那么这个资源还是会被离线存储,也就是说CACHE的优先级更高。
3.FALLBACK:表示如果访问第一个资源失败,那么就使用第二个资源来替换他,比如上面这个文件表示的就是如果访问根目录下任何一个资源失败了,那么就去访问offline.html。
浏览器怎么解析manifest
那么浏览器是怎么对离线的资源进行管理和加载的呢?这里需要分两种情况来讨论。
这个过程中有几个问题需要注意。
对于HTML5中离线存储对象window.applicationCache有几个事件需要我们关注下:
1.oncached:当离线资源存储完成之后触发这个事件
2.onchecking:当浏览器对离线存储资源进行更新检查的时候会触发这个事件
3.ondownloading:当浏览器开始下载离线资源的时候会触发这个事件
4.onprogress:当浏览器在下载每一个资源的时候会触发这个事件,每下载一个资源就会触发一次。
5.onupdateready:当浏览器对离线资源更新完成之后会触发这个事件
6.onnoupdate:当浏览器检查更新之后发现没有资源更新的时候触发这个事件
TML 5 是最新的超文本标记语言 (HTML),它是用于描述网页内容和外观的标准编程语言。如今,所有主要浏览器(Chrome、Safari、Firefox、Opera 和 IE)都提供 HTML5 支持,这使其成为当今使用的最新 HTML 技术。
下面列出了 HTML5 的一些惊人优势:
1. 跨浏览器兼容性
HTML5 易于实现,并且可以与 CSS3 一起使用。今天所有的浏览器都支持 HTML5 标签,甚至 IE6 也能理解标记 <!doctype html> 并且会正确地呈现页面。
2. 新的 DOCTYPE 声明:
关于 HTML 5 最重要的事实是 - HTML5 易于实现并且可以与 CSS3 一起使用
HTML5 的 DOCTYPE 声明非常简单:
<! DOCTYPE html>
是的,只有“DOCTYPE”和“html”这两个词,不再有长行充满脏标签的不可读代码。
3. 带来可用性和用户体验的改进
可用性和用户体验与网站或应用程序的设计程度有关。我们都想要更好的动态网站和美观的应用程序与用户交互并允许用户享受功能、内容等,而不仅仅是看它。HTML5 对 Web 具有多项技术增强和改进功能,并且使用 HTML5 代码,Web 开发人员可以轻松设计更好的应用程序和动态网站,从而带来更好的用户体验和可用性。
4. 替代 Flash 和 Silver light
HTML5超越Flash和Silver light而领先只是因为播放Flash文件和Silver light需要安装Adobe Flash最新版本或Silver light插件,还需要注意设备和操作系统的兼容性. HTML 5 并非如此。因此,HTML5 如今在公司中变得越来越流行,因为它提供了大量的属性和功能,可帮助 Web 开发人员以最少的工作量构建漂亮的网站和应用程序。
5. 大量用于移动应用和游戏
HTML5 在移动应用程序和游戏开发中的适应性随着 HTML5 Web 应用程序工具在从用户界面 (UI)、开发、使用脚本等开始的所有情况下为 Web 开发人员提供了更大的灵活性而增加。
HTML5 还能够处理多媒体内容,而无需安装插件,我们可以使用该技术轻松开发交互式游戏。
6. 干净的标记和改进的代码
HTML5 带有简洁的标记和简洁的代码,使其比以前的版本更易于访问。HTML 5 允许 Web 开发人员和 Web 设计人员使用更简洁的代码并删除 div 标签并将所有 div 标签替换为新的 HTML 5 元素。
7. 离线浏览
HTML5 还提供离线浏览功能,这意味着访问者可以在没有有效互联网连接的情况下加载网页上的某些元素。假设你访问了该站点,但不知何故你现在没有连接到互联网,或者互联网连接发生故障。使用 HTML5 离线缓存,我们仍然可以加载网站的核心元素,你可以离线查看它们。
8. HTML5 在网站抓取和索引方面对 SEO 友好:
如今,为了在包括谷歌在内的不同搜索引擎中获得并保持最高排名,必须小心优化网站和所有必要的 SEO 模块。HTML 5 带有各种属性和模块,使网络爬虫可以轻松搜索你的内容并使其正确编入索引,从而提高其在搜索引擎搜索结果页面中的排名。HTML5 的技术提供了具有广泛结构元素、语义、表单类型、新属性和媒体元素的各种功能,使数字营销专家和开发人员更容易专注于更好的搜索引擎优化技术并推动更多的自然搜索流量。
9. 视频和音频支持
借助 HTML5 技术,我们不再需要依赖第三方插件来渲染音频和视频。你可以忘记 Flash Player 和其他第三方媒体播放器和插件。你可以使用新的 HTML5 <video> 和 <audio> 标签轻松访问你的视频和音频。
以前你必须使用旧的 <embed> 和 <object> 标签并分配大量参数,以显示视频可见并正常工作。但是使用 HTML5 的视频和音频标签,我们可以将它们视为图像; <video src=”url”/>。
我们只需要像任何其他 HTML 元素一样在单行标签中定义高度、宽度和自动播放等参数:<video src=”url” width=”800px” height=”500px”autoplay/>。
10. 地理位置支持
在地理定位的帮助下,我们可以轻松地找出我们在世界上的位置,并轻松地与人们分享这些信息。过去,如果我们想首先检测客户端设备的位置,我们必须查看客户端 IP 地址、你的无线网络连接、手机的基站和纬度和经度。但是对于 HTML5,已经开发了一组 API,它们可以有效地允许客户端设备(即你的手机、IP 甚至你的桌面浏览器)使用你的 HTML5 兼容浏览器直接可用的 JavaScript 检索地理定位信息。
HTML5 改进并增强了浏览体验。那么为什么不为你的网站和移动应用程序采用 HTML 5 呢?
了解更多
*请认真填写需求信息,我们会在24小时内与您取得联系。