有关HTML5 Video对象的ontimeupdate事件(Chrome上无效)的问题


Posted in HTML / CSS onJuly 19, 2013

日期在做一个视频播放的页面,其中用到了HTML5的Video对象,这个是HTML5中新增的一个对象,支持多种不同格式的视频在线播放,功能比较强大,而且还扩展了许多事件,可以通过JavaScript脚本来对视频播放进行控制。参考下面两个链接:
http://msdn.microsoft.com/en-us/library/windows/apps/hh465962.aspx
http://www.w3school.com.cn/html5/tag_video.asp

Video对象可以通过ontimeupdate事件来报告当前的播放进度,同时通过该事件还可以根据视频播放的情况来控制页面上的其它元素,例如随着视频播放的进度来切换章节、显示额外信息等。下面是一个例子:

复制代码
代码如下:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<title></title>
</head>
<body>
<script type="text/javascript">
function timeUpdate() {
document.getElementById('time').innerHTML = video.currentTime;
}
function durationChange() {
document.getElementById('duration').innerHTML = video.duration;
}
function seekVideo() {
document.getElementById('video').currentTime = document.getElementById('seekText').value;
}
window.onload = function () {
var videoPlayer = document.getElementById("video");
videoPlayer.ontimeupdate = function () { timeUpdate(); };
};
</script>
<div>
<video id="video" controls="controls"
poster="./images/videoground1.png"
src="./videoSource/video1.mp4" width="450px" height="320px"
ondurationchange="durationChange()" />
</div>
<div>Time: <span id="time">0</span> of <span id="duration">0</span> seconds.</div>
<div>
<input type="text" id="seekText" />
<input type="button" id="seekBtn" value="Seek Video" onclick="seekVideo();" />
</div>
</body>
</html>

当然你也可以像在页面上使用其它元素一样,给Video对象动态添加属性或者挂事件,如:
复制代码
代码如下:

video.ontimeupdate = function () { getCurrentVideoPosition(); };

不过上面这行代码貌似在Chrome上无效,可以使用addEventListener来代替它:
复制代码
代码如下:

videoPlayer.addEventListener("timeupdate", function () { getCurrentVideoPosition(); }, false);

不知道是什么原因在Chrome上不能直接将ontimeupdate事件挂在Video元素上,而必须通过addEventListener方法来添加事件。不过addEventListener也兼容IE和Firefox浏览器,所以应该是通过的。
HTML / CSS 相关文章推荐
基于css3仿造window7的开始菜单
Jun 17 HTML / CSS
让IE6支持css3,让 IE7、IE8 都支持CSS3
Oct 09 HTML / CSS
35款精致的 CSS3 和 HTML5 网页模板 推荐
Aug 03 HTML / CSS
CSS3 Flexbox中flex-shrink属性的用法示例介绍
Dec 30 HTML / CSS
CSS中的字体大小设置属性总结
May 24 HTML / CSS
CSS3实现点击放大的动画实例代码
Feb 27 HTML / CSS
CSS3下的渐变文字效果实现示例
Mar 02 HTML / CSS
js实现移动端H5页面手指滑动刻度尺功能
Nov 16 HTML / CSS
HTML5中语义化 b 和 i 标签
Oct 17 HTML / CSS
HTML5之SVG 2D入门6—视窗坐标系与用户坐标系及变换概述
Jan 30 HTML / CSS
HTML5的download属性详细介绍和使用实例
Apr 23 HTML / CSS
HTML5 新表单类型示例代码
Mar 20 HTML / CSS
HTML5 的新的表单元素(datalist/keygen/output)使用介绍
Jul 19 #HTML / CSS
HTML5注册表单的自动聚焦与占位文本示例代码
Jul 19 #HTML / CSS
HTML5标签与HTML4标签的区别示例介绍
Jul 18 #HTML / CSS
html5 音乐播放器 audio 标签使用概述
Jul 15 #HTML / CSS
HTML5 Canvas如何实现纹理填充与描边(Fill And Stroke)
Jul 15 #HTML / CSS
css 如何让背景图片拉伸填充避免重复显示
Jul 11 #HTML / CSS
HTML5 Canvas渐进填充与透明实现图像的Mask效果
Jul 11 #HTML / CSS
You might like
Laravel 5 框架入门(四)完结篇
2015/04/09 PHP
实例简介PHP的一些高级面向对象编程的特性
2015/11/27 PHP
php生成条形码的图片的实例详解
2017/09/13 PHP
escape、encodeURI、encodeURIComponent等方法的区别比较
2006/12/27 Javascript
JavaScript 学习笔记(七)字符串的连接
2009/12/31 Javascript
jQuery页面图片伴随滚动条逐渐显示的小例子
2013/03/21 Javascript
ajax与302响应代码测试
2013/10/23 Javascript
JS控制图片翻转示例代码(兼容firefox,ie,chrome)
2013/12/19 Javascript
jquery实现像栅栏一样左右滑出式二级菜单效果代码
2015/08/24 Javascript
jQuery Easyui datagrid editor为combobox时指定数据源实例
2016/12/19 Javascript
Javascript 实现计算器时间功能详解及实例(二)
2017/01/08 Javascript
浅谈angular2 组件的生命周期钩子
2017/08/12 Javascript
nodejs初始化init的示例代码
2018/10/10 NodeJs
[01:39]2014DOTA2国际邀请赛 Newbee经理CU专访队伍火力全开
2014/07/15 DOTA
python如何通过protobuf实现rpc
2016/03/06 Python
Python简单网络编程示例【客户端与服务端】
2017/05/26 Python
Python网络编程详解
2017/10/31 Python
初探利用Python进行图文识别(OCR)
2019/02/26 Python
Django 接收Post请求数据,并保存到数据库的实现方法
2019/07/12 Python
django的ORM操作 删除和编辑实现详解
2019/07/24 Python
Python高级编程之消息队列(Queue)与进程池(Pool)实例详解
2019/11/01 Python
python解析多层json操作示例
2019/12/30 Python
python实现图像拼接功能
2020/03/23 Python
Python如何把Spark数据写入ElasticSearch
2020/04/18 Python
HTML5标签小集
2011/08/02 HTML / CSS
购买英国原创艺术:Art Gallery
2018/08/25 全球购物
如何向接受结构参数的函数传入常数值
2016/02/17 面试题
金融专业大学生自我评价
2014/01/09 职场文书
幼儿园中班新学期寄语
2014/01/18 职场文书
国家助学金获奖感言
2014/01/31 职场文书
地球一小时倡议书
2014/04/15 职场文书
爱国卫生月活动总结范文
2014/04/25 职场文书
学习雷锋标语
2014/06/25 职场文书
乡镇干部先进性教育活动个人整改措施
2014/09/16 职场文书
国庆节新闻稿
2015/07/17 职场文书
Python函数中的不定长参数相关知识总结
2021/06/24 Python