H5中的requestAnimationFrame】的更多相关文章

这两天做一个公告展示轮播的动画,刚开始是用setinterval写的,后来发现做出来的动画效果有抖动的现象,动画不流畅,遂决定试试requestAnimationFrame,之前也只是耳闻,没有用过,用过之后发现:“哎呦喂,不错哦!” 我们看代码 <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8…
showWebView.dataDetectorTypes = .None //swift禁用webView对H5中数字,链接,日期,地址,电话号码做解析 其UIDataDetectorTypes属性: static var PhoneNumber: UIDataDetectorTypes { get } // Phone number detection static var Link: UIDataDetectorTypes { get } // URL detection static v…
Canvas API 是H5中比较炫酷的一部分内容.可以通过它动态的生成和展示图形.图表.图像以及动画.下面我将学习一下Canvas API. 最后有书籍和源码. 一.概述: 1.基本元素: 在网页上使用canvas元素时,它会创建一块矩形区域,默认为300px*150px (w*h),可以自定义具体大小和canvas元素的其他特性. 基本canvas元素: 在页面加入canvas元素后,可以通过js脚本来控制它,可以在其中添加图片.线条以及文字,也可以在里面绘图,甚至可以加入高级动画. 使用c…
本篇内容不针对canvas文档对每个api进行逐个的详解! 本篇内容不针对canvas文档对每个api进行逐个的详解! 本篇内容不针对canvas文档对每个api进行逐个的详解! 重说三,好了,现在进入正文.在上一回<从web图片裁剪出发:了解H5中的blob>中我解释了图片在浏览器中以怎样的形式留存,并且在最后一个example中演示了选择图片.预览最后提交的过程.然而这个预览并没有起到什么卵用,因为只能预览不能处理,原图片还是原图片,预览变得可有可无.这一篇我们就在预览这一步里做点手脚,加…
iOS 中有的页面也能会内嵌WebView,然后WebView中用H5做了一个导航,而iOS 中状态栏的颜色很难调整的与H5中导航颜色一致.如下图所示: 其实出现这种原因,主要是因为使用16进制颜色,导致颜色转换出现偏差. 我这里就是因为H5中的颜色是 #3983E5,而是使用如下方法转换的UIColor有误差: + (UIColor *) colorWithHexString: (NSString *)color {     NSString *cString = [[color string…
在微信中打开网页且需要调用微信登录接口时,微信官方给我们提供了两种登录调用方式:静默登录和非静默登录:但是官方文档中却没有说明在何种情况下使用静默登录,何种情况下使用非静默登录,所以在这里,我想将之前做项目关于这个问题的心得分享给大家. 一.阅读官方文档,实现两种登录方式 其实通过阅读微信官方文档,很容易就能分别实现两种登录方式,这里我贴一下微信官方文档关于<微信网页授权>的链接以及我的实现代码(如果你已经实现了这两步,就可以直接跳过这一部分啦): a. 微信网页授权官方文档链接 https:…
h5中不能用js来获取mac的.是可以获取ip的.代码  <script>var fso = new ActiveXObject("Scripting.FileSystemObject");var wsh = new ActiveXObject("WScript.Shell");wsh.Run("command.com /c ipconfig /all > C:\\ip.txt");var f = fso.OpenTextFil…
H5中的语义化标签也就是之前的id = “header”演变而来的 只不过之前是id 现在变成了标签而已 什么是语义化: 根据内容结构化(内容语义化) 选择合适的标签(代码语义化) 便于开发者阅读和写出更好的代码,或者让浏览器的爬虫和机器很好的解析 语义化的意义:…
js中的requestAnimationFrame requestAnimationFrame的作用就是重绘 一个简单的demo如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scal…
HTML5中提供了一个<audio>标签,同时也提供了一个Audio对象给JavaScript去操作,这个对象属于HTML的DOM对象. H5中的<audio>标签 此标签是HTML5的新标签(双标签),用于定义声音,比如音乐或其他音频流. 实例 <audio src="someaudio.wav"> <span>你的浏览器不支持audio标签,傻瓜.</span> </audio> 同时此标签提供<sour…
今天研究一下H5中history操作的相关知识,首先梳理一下基本内容: 一.在history中的跳转 使用 back(), forward()和 go() 方法来完成在用户历史记录中向后和向前的跳转. window.history.back(); window.history.forward(); window.history.go(-); window.history.go(); 可以通过查看长度属性的值来确定的历史堆栈中页面的数量: let numberOfEntries = window.…
H5中加载更多的逻辑总结: 1.首先,需要三个底部的提示,分别是“加载中”.“--我是有底线的--”.“暂时没有记录”,当然,这三句话根据不同的项目,可以自定义.具体代码例子如下: <div class="nowStartLoading" v-if="nowloading"> <mt-spinner type="fading-circle" :size="25"></mt-spinner>…
问题:在H5中,我们有这样的需求:例如有列表的时候,滚动到底部时,需要加载更多. 解决方案:可以采用window的滚动事件进行处理 分析:如果滚动是针对整个屏幕而言的(不针对于某个界面小块),那么这个应该是是成立的:屏幕的高度+最大滚动的距离 = 内容的高度 代码实现: <html> <head> <meta charset="UTF-8"> <title>监听滚动到底部滚动底部</title> <style> .…
在去年的时候也实现过合成海报的功能,不过当时时间仓促,实现的比较简单. 就一个旋转功能,图片也不能拖动放大,也不能裁剪. 去年的实现可以参考<移动图片操作--上传>和<移动图片操作--预览旋转合成> 这次有时间就实现一个功能稍微多点的海报. 一.概要 第一屏 第二屏 第三屏 总共有三屏,第一屏是选择图片,第二屏是合成图片,第三屏是显示结果图,可保存分享朋友圈. 页面内容不是很多,分析起来也比较简单. 1)每一屏的左右边距相同,上边距各不相同. 2)屏幕内的元素,大部分是居中,有些特…
最近在写微信公众号H5页面 遇到了一些坑,在这里记录一下 记录一下signature的计算 // 首先找到hex_sha1的加密算法,ticket 是后端提供的 var url_local = location.href.split('#')[0] var timestamp = parseInt(new Date().getTime() / 1000) var noncestr = Math.random().toString(36).substr(2)  var signature = he…
CSS3的动画在PC网页上或者APP上用得越来越多,比如H5页面的应用,目前在营销传播上的意义比较大,还有企业官网或者APP主要介绍也用得比较多,当然还有很多地方都用到.所以学习css的动画也迫在眉睫.那我们就进入主题! animation 属性在CSS中可以使用其他的css属性,来实现动画,例如color,background-color,height或者width.每一个动画需要定义@keyframes 动画名,作为animation的属性值,例如:   .element {  animat…
刚开始做前端的时候,有个功能卡住我了,就是裁剪并上传头像.当时两个方案摆在我面前,一个是flash,我不会.另一个是通过iframe上传图片,然后再上传坐标由后端裁剪,而我最终的选择是后者.有人会疑惑,为什么不用H5的Canvas和FormData,第一要考虑ie8的兼容性,第二那时候眼界没到,这种新东西光是听听都怕. 后来随着Mobile项目越做越多,类似的功能开发得也越来越多,Canvas+FormData成为了标配方案.但做的多了却一直没有静下心来研究,浏览器怎么使用H5的方式裁剪并把文件…
一: 1.鼠标监视坐标值 <!DOCTYPE html> <head> <meta charset=UTF-8> <title>canvas的演示</title> <script src="D:\jquery\jquery-1.12.4.min.js""></script> </head> <body> <canvas id="tt" widt…
就目前来看,前端的单页面开发占了很大一部分,一方面无刷新的切换增强了体验,并且浏览器记录依然存在,前进后退都没问题,在之前我们通地址栏中的hash改变来触发onhashchange方法来实现单页面应用,但是#的形式总是令人不爽,幸好h5新增了history.pushState与history.replaceState. 1.介绍API history.pushState(data, title [, url]): 往历史记录堆栈顶部添加一条记录: data会在onpopstate事件触发时作为参…
最近我们的项目做了有关短视频的功能,当然视频的合成还是在客户端来完成,涉及到前端页面的部分就是要有一个H5的落地页,这个页面上要有对视频进行播放.起初我觉得这事儿还是挺简单的,不就是在页面上放一个<video>标签,然后用js控制播放暂停就ok了嘛.但是随着测试和上线的过程中我发现还是有好多问题值得去研究的,因此就有了这篇文章. 不就是一个<video>吗,有什么难的? 这就是我最初的想法,在W3C上找一下有关<video>的文档(http://www.w3school…
最近接到的一个新需求:页面一个静态H5,中间有一页是输入信息,然后跳转到最后一页,自动将页面生成图片,用户可以长按图片保存到手机上. 展示一下最后一页的样子: 刚拿到这个需求,在网上看了很多文章,最普遍的是使用 html2canvas + canvas2image  来实现.于是,跟着前人的脚步,踏上了一个不断采坑采坑采坑的旅程. 下面直接描述我在做这个需求过程中遇到的问题以及解决办法吧: 1.html2canvas 图片跨域: 这个问题网上很多解决办法: 这个是最常用的, 刚开始我只是加了红色…
音乐的自动播放属性,这里也介绍一下: <audio controls="controls" autoplay="autoplay"> <source src="song.ogg" type="audio/ogg" /> <source src="song.mp3" type="audio/mpeg" /> Your browser does not s…
在H5页面中嵌入视频的情况是比较多件的,有时候会碰到需要自动播放的情况,之前根本觉得这不是问题,但是自己的项目中需要视频的时候就有点sb了,达不到老板的要求,那个急呀~~~ 各种查资料,找到一个方法,记录一下.核心是监听了canplaythrough事件,然后自己去让视频play(). 在这个过程中还发现,ios和安卓不一样,安卓上需要设置muted才能自动播放,ios没这个限制,当然,多媒体播放政策呢,厂商也一直在调整,需要关注. 还有就是有时候视频也可能有问题,导致不能自动播放,之前就是碰到…
具体文档和demo可以访问github:https://github.com/zhoushengmufc/iosselect 移动端浏览器对于select的展示样式是不一致的,ios下是类似原生的picker,安卓下各浏览器展示各异,我们需要一个picker组件来统一各端下各种浏览器的展示. iosselect是在webapp下的一个picker组件,可以轻松实现各类选择器效果.比如地区选择 时间选择 日期选择等. 下面是一个地址选择器demo截图,可以访问:http://zhoushengfe…
touch中共有touchstart.touchmove和touchend三个事件: touchstart:触摸开始的时候触发 touchmove:手指在屏幕上滑动的时候触发 touchend:触摸结束的时候触发 并且每个触摸事件都包括了三个触摸列表,每个列表里包含了对应的一系列触摸点(用来实现多点触控): touches:当前位于屏幕上的所有手指的列表: targetTouches:位于当前DOM元素上的手指列表: changedTouches:涉及当前事件手指的列表. 每个触摸点由包含了如下…
/*REM单位换算方法 iphone6适配*/ function resizeRoot(){ var Dpr = 1, uAgent = window.navigator.userAgent; var isIOS = uAgent.match(/iphone/i); var wWidth = (screen.width > 0) ? (window.innerWidth >= screen.width || window.innerWidth == 0) ? screen.width : wi…
最近浏览了张鑫旭大神的基于HTML5 drag/drop模块拖动插入排序删除完整实例,感觉受益匪浅.于是将最做的demo记录下来. 首先浏览一下事件,这些事件比较好记,只要记住用在谁的身上就好了,无非是被推拽的元素和目标元素. 被拖拽元素上触发的事件: 1.ondragstart - 用户开始拖动元素时触发 2.ondrag - 元素正在拖动时触发 3.ondragend - 用户完成元素拖动后触发 目标元素上触发的事件: 1.ondragenter - 当被鼠标拖动的对象进入其容器范围内时触发…
ajax的数据传输是单向的,客户端和服务端没有连接-----客户端建立连接发送请求----服务器端沿着建立的连接返回相应----断开连接 websocket则是可以在客户端和服务器端进行双向的数据接收和发送 打个比方:小明在客厅看电视,小明的媳妇在卫生间洗衣服,小明的爸爸在书房看报纸,小明的妈妈在厨房做饭:小明的爸爸饿了,问小明:饭做好了么?这时小明只能去询问妈妈:饭做好了么,小明的妈妈回复小明说没做好,小明转而回复爸爸:饭没做好.如果按照ajax的习惯现场状态就变成了这样:小明的爸爸没过一秒钟…
场景:iOS端设备,App页面跳转到H5产品介绍,背景音乐无法播放.(为什么不能自动播放,因该是iPhone人性化设定吧~) 加载H5用UIWebView空间: 代码: CGRect rect = self.contentView.bounds; normalWeb = [[UIWebView alloc] initWithFrame:rect]; normalWeb.backgroundColor = [UIColor clearColor]; normalWeb.scrollView.bou…
自定义数据属性是在HTML5中新加入的一个特性.简单来说,自定义数据属性规范规定任何以data-开头属性名并且赋值.自定义数据属性是为了保存页面或者应用程序的私有自定义数据,这些自定义数据属性保存进DOM中,对于整个DOM的布局和表现无任何影响,但是却可以方便操控整个网页的交互以及想要表达的效果. 比如我们想要统计一个页面玩家的排行榜,但是DOM页面的原生标签并没有提供这样的一个类似的属性.这时,就可以创建一个data-rank数据属性,保存玩家的分数,利用JS去控制属性的赋值以及逻辑分析,最终…