有关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 完美实现圆角效果
Jul 13 HTML / CSS
用纯css3和html制作泡沫对话框实现代码
Mar 21 HTML / CSS
涂鸦板简单实现 Html5编写属于自己的画画板
Jul 05 HTML / CSS
利用HTML5+css3+jquery+weui实现仿微信聊天界面功能
Jan 08 HTML / CSS
HTML5 Canvas像素处理使用接口介绍
Dec 02 HTML / CSS
使用HTML5的Canvas绘制曲线的简单方法
Sep 08 HTML / CSS
Html5中localStorage存储JSON数据并读取JSON数据的实现方法
Feb 13 HTML / CSS
在html页面中取得session中的值的方法
Aug 11 HTML / CSS
CSS实现多个元素在盒子内两端对齐效果
Mar 30 HTML / CSS
flex弹性布局详解
Mar 20 HTML / CSS
CSS中float高度塌陷问题的四种解决方案
Apr 18 HTML / CSS
css如何把元素固定在容器底部的四种方式
Jun 16 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
屏蔽浏览器缓存另类方法
2006/10/09 PHP
PHP间隔一段时间执行代码的方法
2014/12/02 PHP
Yii2使用swiftmailer发送邮件的方法
2016/05/03 PHP
PHP接收App端发送文件流的方法
2016/09/23 PHP
ThinkPHP实现静态缓存和动态缓存示例代码
2017/05/02 PHP
PHPExcel 修改已存在Excel的方法
2018/05/03 PHP
Jquery Ajax学习实例 向页面发出请求,返回XML格式数据
2010/03/14 Javascript
初始Nodejs
2014/11/08 NodeJs
javascript表格隔行变色加鼠标移入移出及点击效果的方法
2015/04/10 Javascript
js变形金刚文字特效代码分享
2015/08/20 Javascript
基于jquery实现鼠标滚轮驱动的图片切换效果
2015/10/26 Javascript
Bootstrap树形控件使用方法详解
2016/01/27 Javascript
JavaScript程序中实现继承特性的方式总结
2016/06/24 Javascript
在线引用最新jquery文件的实现方法
2016/08/26 Javascript
Vue利用路由钩子token过期后跳转到登录页的实例
2017/10/26 Javascript
Vue路由切换时的左滑和右滑效果示例
2018/05/29 Javascript
Vue中消息横向滚动时setInterval清不掉的问题及解决方法
2019/08/23 Javascript
layui表格 列自动适应大小失效的解决方法
2019/09/06 Javascript
[01:31]完美与DOTA2历程
2014/07/31 DOTA
[02:22]《新闻直播间》2017年08月14日
2017/08/15 DOTA
python连接远程ftp服务器并列出目录下文件的方法
2015/04/01 Python
Python3.6简单操作Mysql数据库
2017/09/12 Python
Python实现的基数排序算法原理与用法实例分析
2017/11/23 Python
Python 删除整个文本中的空格,并实现按行显示
2018/07/24 Python
PyQt5重写QComboBox的鼠标点击事件方法
2019/06/25 Python
简单了解django索引的相关知识
2019/07/17 Python
Python3 venv搭建轻量级虚拟环境的步骤(图文)
2019/08/09 Python
python config文件的读写操作示例
2019/09/27 Python
PyCharm中Matplotlib绘图不能显示UI效果的问题解决
2020/03/12 Python
北京某科技有限公司C# .net笔试题
2014/09/27 面试题
小学生期末自我鉴定
2014/01/19 职场文书
小班下学期幼儿评语
2014/12/30 职场文书
讲文明倡议书
2015/04/29 职场文书
python实现求纯色彩图像的边框
2021/04/08 Python
一行代码python实现文件共享服务器
2021/04/22 Python
Python利用Turtle绘制哆啦A梦和小猪佩奇
2022/04/04 Python