HTML5 video播放器全屏(fullScreen)方法实例


Posted in HTML / CSS onApril 24, 2015

首先来说,这个标题具有误导性,但这样设置改标题也是主要因为video使用的比较多

在html5中,全屏方法可以适用于很多html 元素,不仅仅是video

复制代码
代码如下:

<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>全屏问题</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<meta http-equiv="imagetoolbar" content="no"/>
<meta name="apple-mobile-web-app-capable" content="yes"/>
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
<style type="text/css">
*{
padding: 0px;
margin: 0px;
}

body div.videobox{
width: 400px;
height: 320px;
margin: 100px auto;
background-color:#000;
}

body div.videobox video.video
{
width: 100%;
height: 100%;
}

:-webkit-full-screen {

}

:-moz-full-screen {

}

:-ms-fullscreen {

}

:-o-fullscreen {

}

:full-screen {

}

:fullscreen {

}

:-webkit-full-screen video {
width: 100%;
height: 100%;
}
:-moz-full-screen video{
width: 100%;
height: 100%;
}
</style>
</head>
<body>

<div id="videobox">

<video controls="controls" preload="preload" id="video" poster="poster.jpg">
<source src="./movie.ogg" type="video/ogg" />
<source src="./movie.mp4" type="video/mp4" />
<source src="./movie.webm" type="video/webm" />
<object data="./movie.mp4" width="100%" height="100%">
<embed width="100%" height="100%" src="./movie.swf" />
</object>

</video>
<button id="fullScreenBtn">全屏</button>
</div>

<script type="text/javascript">

//反射?用
var invokeFieldOrMethod = function(element, method)
{
var usablePrefixMethod;
["webkit", "moz", "ms", "o", ""].forEach(function(prefix) {
if (usablePrefixMethod) return;
if (prefix === "") {
// 无前缀,方法首字母小写
method = method.slice(0,1).toLowerCase() + method.slice(1);
}
var typePrefixMethod = typeof element[prefix + method];
if (typePrefixMethod + "" !== "undefined") {
if (typePrefixMethod === "function") {
usablePrefixMethod = element[prefix + method]();
} else {
usablePrefixMethod = element[prefix + method];
}
}
});

return usablePrefixMethod;
};

//?入全屏
function launchFullscreen(element)
{
//此方法不可以在?步任?罩?绦校??t火狐?o法全屏
if(element.requestFullscreen) {
element.requestFullscreen();
} else if(element.mozRequestFullScreen) {
element.mozRequestFullScreen();
} else if(element.msRequestFullscreen){
element.msRequestFullscreen();
} else if(element.oRequestFullscreen){
element.oRequestFullscreen();
}
else if(element.webkitRequestFullscreen)
{
element.webkitRequestFullScreen();
}else{

var docHtml = document.documentElement;
var docBody = document.body;
var videobox = document.getElementById('videobox');
var cssText = 'width:100%;height:100%;overflow:hidden;';
docHtml.style.cssText = cssText;
docBody.style.cssText = cssText;
videobox.style.cssText = cssText+';'+'margin:0px;padding:0px;';
document.IsFullScreen = true;

}
}
//退出全屏
function exitFullscreen()
{
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if(document.oRequestFullscreen){
document.oCancelFullScreen();
}else if (document.webkitExitFullscreen){
document.webkitExitFullscreen();
}else{
var docHtml = document.documentElement;
var docBody = document.body;
var videobox = document.getElementById('videobox');
docHtml.style.cssText = "";
docBody.style.cssText = "";
videobox.style.cssText = "";
document.IsFullScreen = false;
}
}
document.getElementById('fullScreenBtn').addEventListener('click',function(){
launchFullscreen(document.getElementById('video'));
window.setTimeout(function exit(){
//?z查?g?器是否?於全屏
if(invokeFieldOrMethod(document,'FullScreen') || invokeFieldOrMethod(document,'IsFullScreen') || document.IsFullScreen)
{
exitFullscreen();
}
},5*1000);
},false);

</script>
</body>

</html>

HTML5 video播放器全屏(fullScreen)方法实例

HTML / CSS 相关文章推荐
Web页面中八种创建多列等高(等高列布局)的实现技术
Dec 24 HTML / CSS
CSS3之边框多颜色Border-color属性使用示例
Oct 11 HTML / CSS
纯CSS3实现鼠标悬停提示气泡效果
Feb 28 HTML / CSS
html5+css3之动画在webapp中的应用
Nov 21 HTML / CSS
基于html和CSS3制作酷炫的导航栏
Sep 23 HTML / CSS
利用CSS3实现折角效果实例源码
Sep 28 HTML / CSS
css3实现六边形边框的实例代码
May 24 HTML / CSS
HTML5之HTML元素扩展(上)—新增加的元素及使用概述
Jan 31 HTML / CSS
html5+css3实现一款注册表单实例
Apr 17 HTML / CSS
详解HTML5中ol标签的用法
Sep 08 HTML / CSS
Html5实现文件异步上传功能
May 19 HTML / CSS
clear 万能清除浮动(clearfix:after)
May 21 HTML / CSS
HTML5 video标签(播放器)学习笔记(二):播放控制
Apr 24 #HTML / CSS
HTML5 video标签(播放器)学习笔记(一):使用入门
Apr 24 #HTML / CSS
HTML5 Video标签的属性、方法和事件汇总介绍
Apr 24 #HTML / CSS
HTML5 Canvas中绘制椭圆的4种方法
Apr 24 #HTML / CSS
HTML5 Convas APIs方法详解
Apr 24 #HTML / CSS
微信浏览器取消缓存的方法
Mar 28 #HTML / CSS
移动端解决悬浮层(悬浮header、footer)会遮挡住内容的3种方法
Mar 27 #HTML / CSS
You might like
PHP简洁函数(PHP简单明了函数语法)
2012/06/10 PHP
PHP实现股票趋势图和柱形图
2015/02/07 PHP
php实现base64图片上传方式实例代码
2017/02/22 PHP
PHP基于SMTP协议实现邮件发送实例代码
2017/04/27 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
2017/12/25 PHP
thinkphp中U方法按路由规则生成url的方法
2018/03/12 PHP
js中巧用cssText属性批量操作样式
2011/03/13 Javascript
ajax异步刷新实现更新数据库
2012/12/03 Javascript
JQuery实现表格中相同单元格合并示例代码
2013/06/26 Javascript
用js代码改变单选框选中状态的简单实例
2013/12/18 Javascript
js+css实现导航效果实例
2015/02/10 Javascript
javascript实现点击按钮让DIV层弹性移动的方法
2015/02/24 Javascript
基于Node.js的JavaScript项目构建工具gulp的使用教程
2016/05/20 Javascript
jquery submit()不能提交表单的解决方法
2017/04/24 jQuery
jQuery Validate表单验证插件实现代码
2017/06/08 jQuery
Vue学习笔记进阶篇之单元素过度
2017/07/19 Javascript
angular2 组件之间通过service互相传递的实例
2018/09/30 Javascript
详解用JS添加和删除class类名
2019/03/25 Javascript
微信小程序个人中心的列表控件实现代码
2020/04/26 Javascript
pandas 实现将重复表格去重,并重新转换为表格的方法
2018/04/18 Python
Django restframework 源码分析之认证详解
2019/02/22 Python
Python 如何提高元组的可读性
2019/08/26 Python
python实现ip地址查询经纬度定位详解
2019/08/30 Python
Python 实现将数组/矩阵转换成Image类
2020/01/09 Python
Python实现密钥密码(加解密)实例详解
2020/04/26 Python
Melijoe美国官网:法国奢侈童装购物网站
2017/04/19 全球购物
个人求职简历的自我评价
2013/10/19 职场文书
最受欢迎的自我评价
2013/12/22 职场文书
优秀老师事迹材料
2014/02/05 职场文书
项目合作协议书
2014/09/23 职场文书
大学生简历自我评价2015
2015/03/03 职场文书
岁月神偷观后感
2015/06/11 职场文书
运动会广播稿200字
2015/08/19 职场文书
2015年挂职锻炼个人总结
2015/10/22 职场文书
2016秋季幼儿园开学寄语
2015/12/03 职场文书
自己搭建resnet18网络并加载torchvision自带权重的操作
2021/05/13 Python