有关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使用多列制作瀑布流
May 10 HTML / CSS
手把手教你用纯css3实现轮播图效果实例
May 04 HTML / CSS
让IE6、IE7、IE8支持CSS3的脚本
Jul 20 HTML / CSS
纯CSS和jQuery实现的在页面顶部显示的进度条效果2例(仿手机浏览器进度条效果)
Apr 16 HTML / CSS
CSS3提交意见输入框样式代码
Oct 30 HTML / CSS
使用CSS3滤镜的filter:blur属性制作毛玻璃模糊效果的方法
Jul 08 HTML / CSS
CSS3实现多样的边框效果
May 04 HTML / CSS
CSS3实现水平居中、垂直居中、水平垂直居中的实例代码
Feb 27 HTML / CSS
使用css创建三角形 使用CSS3创建3d四面体原理及代码(html5实践)
Jan 06 HTML / CSS
HTML5之SVG 2D入门2—图形绘制(基本形状)介绍及使用
Jan 30 HTML / CSS
css中有哪些方式可以隐藏页面元素及区别
Jun 16 HTML / CSS
使用CSS实现音波加载效果
May 07 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
关于在php.ini中添加extension=php_mysqli.dll指令的说明
2007/06/14 PHP
劣质的PHP代码简化
2010/02/08 PHP
php之Memcache学习笔记
2013/06/17 PHP
php导入模块文件分享
2015/03/17 PHP
PHP5.2中PDO的简单使用方法
2016/03/25 PHP
JXTree对象,读取外部xml文件数据,生成树的函数
2007/04/02 Javascript
为jquery.ui.dialog 增加“在当前鼠标位置打开”的功能
2009/11/24 Javascript
jQuery实用基础超详细介绍
2013/04/11 Javascript
javascript制作的简单注册模块表单验证
2015/04/13 Javascript
简单谈谈javascript中的变量、作用域和内存问题
2015/08/30 Javascript
实现高性能JavaScript之执行与加载
2016/01/30 Javascript
简述Matlab中size()函数的用法
2016/03/20 Javascript
简单理解js的冒泡排序
2016/12/19 Javascript
Node.js的特点详解
2017/02/03 Javascript
使用Bootstrap + Vue.js实现添加删除数据示例
2017/02/27 Javascript
详解Angular结合zTree异步加载节点数据
2018/01/20 Javascript
vscode中vue-cli项目es-lint的配置方法
2018/07/30 Javascript
详解如何在vue-cli中使用vuex
2018/08/07 Javascript
JavaScript引用类型Function实例详解
2018/08/09 Javascript
在微信小程序中渲染HTML内容的方法示例
2018/09/28 Javascript
Ant Design Vue table中列超长显示...并加提示语的实例
2020/10/31 Javascript
独特的python循环语句
2016/11/20 Python
python的Crypto模块实现AES加密实例代码
2018/01/22 Python
matplotlib实现热成像图colorbar和极坐标图的方法
2018/12/13 Python
Python Django 封装分页成通用的模块详解
2019/08/21 Python
如何用OpenCV -python3实现视频物体追踪
2019/12/04 Python
python爬虫添加请求头代码实例
2019/12/28 Python
tensorflow:指定gpu 限制使用量百分比,设置最小使用量的实现
2020/02/06 Python
Python Tkinter图形工具使用方法及实例解析
2020/06/15 Python
Python requests模块安装及使用教程图解
2020/06/30 Python
torchxrayvision包安装过程(附pytorch1.6cpu版安装)
2020/08/26 Python
同学会邀请书大全
2014/01/12 职场文书
测控技术自荐信
2014/06/05 职场文书
世博会口号
2014/06/20 职场文书
市贸粮局召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
雷锋观后感
2015/06/10 职场文书