基于HTML5开发的网页APP拥有更短的启动时间,更快的联网速度,这些全得益于HTML5 APP Cache,以及本地存储功能。Indexed DB(html5本地存储最重要的技术之一)和API说明文档。
2、网页多媒体特性(Class: MULTIMEDIA)
支持网页端的Audio、Video等多媒体功能, 与网站自带的APPS,摄像头,影音功能相得益彰。
3、性能与集成特性(Class: Performance &Integration)
没有用户会永远等待你的Loading——HTML5会通过XMLHttpRequest2等技术,解决以前的跨域等问题,帮助您的Web应用和网站在多样化的环境中更快速的工作。
4、三维、图形及特效特性(Class: 3D, Graphics &Effects)
基于SVG、Canvas、WebGL及CSS3的3D功能,用户会惊叹于在浏览器中,所呈现的惊人视觉效果。
5、连接特性(Class: CONNECTIVITY)
更有效的连接工作效率,使得基于页面的实时聊天,更快速的网页游戏体验,更优化的在线交流得到了实现。HTML5拥有更有效的服务器推送技术,Server-Sent Event和WebSockets就是其中的两个特性,这两个特性能够帮助我们实现服务器将数据“推送”到客户端的功能。
HTML5 将是未来 5 到 10 年最前沿的技术,那些早期采用这可以在网络中找到大量的体验站点,目前,体验 HTML5 的最好浏览器是那些基于 Webkit 引擎的浏览器,如 Chrome 和 Safari,Firefox 不太流畅。Web 开发者们可以使用目前的 HTML5 草案创建试验站点,当然在当前浏览器分布体系下。判断是否篡改不容易,但你可以禁止开启控制台,不准按f12,或者右键打开审查元素。
<script type='text/javascript'>
//这段js要放在页面最下方
var h = window.innerHeight,w=window.innerWidth
//禁用右键 (防止右键查看源代码)
window.oncontextmenu=function(){return false}
//在本网页的任何键盘敲击事件都是无效操作 (防止F12和shift+ctrl+i调起开发者工具)
window.onkeydown = window.onkeyup = window.onkeypress = function () {
window.event.returnValue = false
return false
}
//如果用户在工具栏调起开发者工具,那么判断浏览器的可视高度和可视宽度是否有改变,如有改变则关闭本页面
window.onresize = function () {
if (h != window.innerHeight||w!=window.innerWidth){
window.close()
window.location = "about:blank"
}
}
/*好吧,你的开发者工具是单独的窗口显示,不会改变原来网页的高度和宽度,
但是你只要修改页面元素我就重新加载一次数据,让你无法修改页面元素(不支持IE9以下浏览器)*/
if(window.addEventListener){
window.addEventListener("DOMCharacterDataModified", function(){window.location.reload()}, true)
window.addEventListener("DOMAttributeNameChanged", function(){window.location.reload()}, true)
window.addEventListener("DOMCharacterDataModified", function(){window.location.reload()}, true)
window.addEventListener("DOMElementNameChanged", function(){window.location.reload()}, true)
window.addEventListener("DOMNodeInserted", function(){window.location.reload()}, true)
window.addEventListener("DOMNodeInsertedIntoDocument", function(){window.location.reload()}, true)
window.addEventListener("DOMNodeRemoved", function(){window.location.reload()}, true)
window.addEventListener("DOMNodeRemovedFromDocument", function(){window.location.reload()}, true)
window.addEventListener("DOMSubtreeModified", function(){window.location.reload()}, true)
}
//压缩后的代码
//var h=window.innerHeight,w=window.innerWidthwindow.oncontextmenu=function(){return!1},window.onkeydown=window.onkeyup=window.onkeypress=function(){return window.event.returnValue=!1,!1},window.onresize=function(){(h!=window.innerHeight||w!=window.innerWidth)&&(window.close(),window.location="about:blank")},window.addEventListener&&(window.addEventListener("DOMCharacterDataModified",function(){window.location.reload()},!0),window.addEventListener("DOMAttributeNameChanged",function(){window.location.reload()},!0),window.addEventListener("DOMCharacterDataModified",function(){window.location.reload()},!0),window.addEventListener("DOMElementNameChanged",function(){window.location.reload()},!0),window.addEventListener("DOMNodeInserted",function(){window.location.reload()},!0),window.addEventListener("DOMNodeInsertedIntoDocument",function(){window.location.reload()},!0),window.addEventListener("DOMNodeRemoved",function(){window.location.reload()},!0),window.addEventListener("DOMNodeRemovedFromDocument",function(){window.location.reload()},!0),window.addEventListener("DOMSubtreeModified",function(){window.location.reload()},!0))
</script>