H5知识点

来源:互联网 发布:全景制作软件 编辑:程序博客网 时间:2024/05/22 07:42

前端- http://www.divcss5.com/w3c/
  一个html页,其文本包含三个方面的信息,逻辑,内容,样式。其中逻辑部分决定页面和用户交互的行为,样式部分决定用户界面的视觉表现,内容部分是结构化的文本信息。对于一个以内容为主的页面(区别于富交互应用/webapp)来说,在表现内容的html中,插入表现逻辑的js,显然不是最合理的做法,因为html的语义是进行文本内容和结构定义,这个层面的定义是和逻辑与视觉都无关的。完全可以以更小的耦合进行分解。
   HTML/CSS/JAVASCRIPT的分离。

网页的布局方式:标准流(文档流/普通流)排版方式;浮动流排版方式;定位流排版方式;

布局:静态布局;弹性布局;自适应布局;流式布局;响应式布局。

  WebSocket protocol 是HTML5一种新的协议。它实现了浏览器与服务器全双工通信(full-duplex)。
  https://github.com/youxin11544/mvp_hybride_framwork (这是一个Android MVP模型良好的架构设计,同时也做了Android和HTML 5交互架构,用到了RxJava+Retrofit+MVP+泛型缩减mvp+模板模式+命令模式+观察者模式+管理者模式 +简单工厂模式。


HTML5——7个最牛的HTML5移动开发框架- http://blog.csdn.net/seu_calvin/article/details/52268335
html5获取新闻列表查看详细内容- http://blog.csdn.net/qq_15950325/article/details/51512635
H5列表- http://blog.csdn.net/fungleo/article/details/50905612
html5下拉刷新和上拉加载更多- http://download.csdn.net/download/xiaoyu411502/8869533
web前端开发之几种布局方式之响应式布局- http://blog.csdn.net/gertyy/article/details/52764527
页面布局 - Layout- http://www.jianshu.com/p/903392e6ad50#
H5的基本框架有哪些?- https://zhidao.baidu.com/question/330297856536152725.html
移动h5自适应布局- http://www.cnblogs.com/samwu/p/4285748.html
html5和css3项目案例- www.qietu.com
HTML5知识库:http://lib.csdn.net/base/html5  http://geek.csdn.net/news/detail/91536

> H5离线缓存

H5 缓存机制浅析 移动端 Web 加载性能优化- http://www.cocoachina.com/webapp/20151217/14718.html
  H5 应用程序缓存为应用带来三个优势:
离线浏览 用户可在应用离线时使用它们
速度 已缓存资源加载得更快
减少服务器负载 浏览器将只从服务器下载更新过或更改过的资源。

  H5 一共有6种缓存机制,有些是之前已有,有些是 H5 才新加入的:
浏览器缓存机制
Dom Storgage(Web Storage)存储机制
Web SQL Database 存储机制
Application Cache(AppCache)机制
Indexed Database (IndexedDB)
File System API

  浏览器缓存机制是指通过 HTTP 协议头里的 Cache-Control(或 Expires)和 Last-Modified(或 Etag)等字段来控制文件缓存的机制。
  另外有两种特殊的情况:
  手动刷新页面(F5),浏览器会直接认为缓存已经过期(可能缓存还没有过期),在请求中加上字段:Cache-Control:max-age=0,发包向服务器查询是否有文件是否有更新。
  强制刷新页面(Ctrl+F5),浏览器会直接忽略本地的缓存(有缓存也会认为本地没有缓存),在请求中加上字段:Cache-Control:no-cache(或 Pragma:no-cache),发包向服务重新拉取文件。

  完美的缓存机制应该是这样的:
缓存文件没更新,尽可能使用缓存,不用和服务器交互;
缓存文件有更新时,第一时间能使用到新的文件;
缓存的文件要保持完整性,不使用被修改过的缓存文件;
缓存的容量大小要能设置或控制,缓存文件不能因为存储空间限制或过期被清除。
以X5为例,第1、2条不能同时满足,第3、4条都不能满足。

在实际应用中,为了解决 Cache-Control 缓存时长不好设置的问题,以及为了”消灭304“,Web前端采用的方式是:
  在要缓存的资源文件名中加上版本号或文件 MD5值字串,如 common.d5d02a02.js,common.v1.js,同时设置 Cache-Control:max-age=31536000,也就是一年。在一年时间内,资源文件如果本地有缓存,就会使用缓存;也就不会有304的回包。
  如果资源文件有修改,则更新文件内容,同时修改资源文件名,如 common.v2.js,html页面也会引用新的资源文件名。

> H5事件冲突

touch事件的来源:
  PC网页上的大部分操作都是用鼠标的,即响应的是鼠标事件,包括mousedown、mouseup、mousemove和click事件。一次点击行为,可被拆解成:mousedown -> click -> mouseup三步。
  手机上没有鼠标,所以就用触摸事件去实现类似的功能。touch事件包含touchstart、touchmove、touchend,注意手机上并没有tap事件。手指触发触摸事件的过程为:touchstart -> touchmove -> touchend。
  手机上没有鼠标,但不代表手机不能响应mouse事件(其实是借助touch去触发mouse事件)。有人在PC和手机上对事件做了对比实验,以说明手机对touch事件相应速度快于mouse事件。

  移动端h5页面touch事件与点击穿透问题:而由于click事件的滞后性(300ms),在这300ms内上层元素隐藏或消失了,下层同样位置的DOM元素触发了click事件(如果是input框则会触发focus事件),看起来就像点击的target“穿透”到下层去了。


H5项目常见问题及注意事项- http://blog.csdn.net/u012377333/article/details/52326158

H5研究三:图文混排的实现- http://blog.csdn.net/xoxo_x/article/details/74020242

-----------------------------------------

H5网页图片的动画效果- http://www.cnblogs.com/jone-chen/p/5333437.html
H5动态添加数据- http://www.cnblogs.com/laonniudajiangtang/p/5842857.html
mui H5 js动态添加不同类型的数据- http://www.cnblogs.com/lemon863376328/p/5120691.html
H5单页面手势滑屏切换原理- http://www.cnblogs.com/onepixel/p/5300445.html
https://github.com/git-onepixel/guesture
9款惊艳的HTML5/CSS3动画应用赏析- http://geek.csdn.net/news/detail/238820
让你大开眼界的9款HTML5动画特效- http://geek.csdn.net/news/detail/237245

7款精巧实用的HTML5/CSS3应用- http://geek.csdn.net/news/detail/237968


  移动H5开发中经常用到滑动效果(页面上移、下移、向左滑动、向右滑动等),浏览器并没有内置swipe事件,可以通过touch事件(touchstart、touchmove和touchend)模拟swipe效果。jquery mobile和zeptojs提供了swipe事件。jquery mobile只有swipeLeft和swipeRight,zeptojs提供了完整的tap和swipe事件。

原创粉丝点击