把平时开发工作中遇到的一些问题写下来,权当备忘录。
有关Meta
基本Meta
|
|
搜索引擎Meta
|
|
页面缓存设置Meta
|
|
常见问题
移动端字体设置
|
|
打电话发短信写邮件
|
|
touch事件
事件响应顺序:ontouchstart
> ontouchmove
> ontouchend
> onclick
touchstart
——当手指触碰屏幕时候发生touchmove
——当手指在屏幕上滑动时连续触发。- 通常在滑屏页面,会调用
event
的preventDefault()
可以阻止默认情况的发生:阻止页面滚动 touchend
——当手指离开屏幕时触发touchcancel
——系统停止跟踪触摸时候会触发。例如在触摸过程中突然页面alert()
,此时会触发该事件,这个事件比较少用。
TouchEvent说明:
- touches:屏幕上所有手指的信息
- targetTouches:手指在目标区域的手指信息
- changedTouches:最近一次触发该事件的手指信息
- touchend时,touches与targetTouches信息会被删除,changedTouches保存的最后一次的信息,用于计算手指信息
参数信息(changedTouches[0])
- clientX、clientY在显示区的坐标
- target:当前元素
科普:移动端click事件200-300ms的延时响应
以下是历史原因:
2007年苹果发布首款iphone上IOS系统搭载的safari为了将适用于PC端上大屏幕的网页能比较好的展示在手机端上,使用了双击缩放(double tap to zoom)的方案,比如你在手机上用浏览器打开一个PC上的网页,你可能在看到页面内容虽然可以撑满整个屏幕,但是字体、图片都很小看不清,此时可以快速双击屏幕上的某一部分,你就能看清该部分放大后的内容,再次双击后能回到原始状态。
双击缩放是指用手指在屏幕上快速点击两次,iOS 自带的 Safari 浏览器会将网页缩放至原始比例。
原因就出在浏览器需要如何判断快速点击上,当用户在屏幕上单击某一个元素时候,例如跳转链接<a href="#"></a>
,此处浏览器会先捕获该次单击,但浏览器不能决定用户是单纯要点击链接还是要双击该部分区域进行缩放操作,所以,捕获第一次单击后,浏览器会先Hold一段时间t,如果在t时间区间里用户未进行下一次点击,则浏览器会做单击跳转链接的处理,如果t时间里用户进行了第二次单击操作,则浏览器会禁止跳转,转而进行对该部分区域页面的缩放操作。那么这个时间区间t有多少呢?在IOS safari下,大概为300毫秒。这就是延迟的由来。
造成的后果用户纯粹单击页面,页面需要过一段时间才响应,给用户慢体验感觉,对于web开发者来说是,页面js捕获click事件的回调函数处理,需要300ms后才生效,也就间接导致影响其他业务逻辑的处理。
解决方案:
点击元素产生背景或边框问题
|
|
字体单位font-size选择px还是rem
|
|
其它一些实用CSS技巧
|
|
禁用input在ios下,输入英文首字母的默认大写
|
|
屏幕旋转的事件和样式
JS处理:
CSS处理:
播放视频不全屏
|
|
消除transition闪屏
|
|