中易网

如何使用HTML5实现全屏API

答案:1  悬赏:70  
解决时间 2021-01-27 18:07
如何使用HTML5实现全屏API
最佳答案
现在主流浏览器基本上实现了全屏效果,但是不同浏览器实现不一样:

【进入和退出全屏】

// Webkit (works in Safari5.1 and Chrome 15)
element.webkitRequestFullScreen();
document.webkitCancelFullScreen();

// Firefox 10+
element.mozRequestFullScreen();
document.mozCancelFullScreen();

// W3C 提议
element.requestFullscreen();
document.exitFullscreen();

//进入全屏
function requestFullScreen() {
var de = document.documentElement;
if (de.requestFullscreen) {
de.requestFullscreen();
} else if (de.mozRequestFullScreen) {
de.mozRequestFullScreen();
} else if (de.webkitRequestFullScreen) {
de.webkitRequestFullScreen();
}
}
//退出全屏
function exitFullscreen() {
var de = document;
if (de.exitFullscreen) {
de.exitFullscreen();
} else if (de.mozCancelFullScreen) {
de.mozCancelFullScreen();
} else if (de.webkitCancelFullScreen) {
de.webkitCancelFullScreen();
}
}

//调用
document.body.addEventListener('click',function(){
requestFullScreen();
//5秒钟自动退出全屏
setTimeout(function(){
exitFullscreen();
},5000);

},false);
检查全屏状态变化 Detecting fullscreen state change
document.addEventListener("fullscreenchange", function () {
fullscreenState.innerHTML = (document.fullscreen)? "" : "not ";
}, false);

document.addEventListener("mozfullscreenchange", function () {
fullscreenState.innerHTML = (document.mozFullScreen)? "" : "not ";
}, false);

document.addEventListener("webkitfullscreenchange", function () {
fullscreenState.innerHTML = (document.webkitIsFullScreen)? "" : "not ";
}, false);

css的全屏样式 Styling fullscreen
在css中,我们有几个伪类来给全屏设置样式,一般是 full-screen 这个伪类,然后会自动再全屏的时候生效

html:-moz-full-screen {
background: red;
}

html:-webkit-full-screen {
background: red;
}

html:fullscreen {
background: red;
}

全屏状态下的键盘输入 Full screen with key input
为了安全原因,很多情况下全屏输入都是被阻塞禁止的,但是chrome允许通过下面的API来允许键盘输入
docElm.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT);

这个只在chrome支持,其他浏览器不支持。firefox计划使用requestFullscreenWithKeys 方法来支持鼠标输入,但是会触发用户通知已保证安全。

firefox10以上,chrome 15和safari5.1以上都支持了。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
酒店一线员工有哪些部门?
刚刚大修的卡特c-9为什么会动力不足
用VC6.0编程时为什么输入一个字母会自动掩盖
丙烯颜料的使用方法与注意事项
“它送来的缕缕幽香,袅袅地钻到我们的心中。
广东省广昆高速郁南出口到广东德庆县多少公里
ff14真的有那么好玩吗?
请问fpga大神,我用计数器产生一个10Mhz的方
求教m6000多少合适
厂里干了几月,要迟职了,厂里说要把补贴钱扣掉
为什么快考试了,明明好多不会但就是不想学习
沙疗可以戴首饰品吗?
18万元左右买什么车
武当七侠各是谁?各是怎么死的?
每月交1~2百元的险种有哪几种
推荐资讯
三茗茶社地址有知道的么?有点事想过去
steam泰国怎么用支付宝和微信买游戏?在线等
城镇集体所有制企业,单位清产核资暂行办法
求2005年到现在历年出的大型单机游戏
中国邮政(西郊邮政代办站)地址在哪,我要去那
是不是蛀牙
办公室用现金368元购买吊扇怎样做会计科目?
哪种扫码用的按摩椅好吗?
《三国志英杰传》 为什么保留敌方军乐队
以丢失为话题的800字作文
漠河北极村北游家园地址在什么地方,我要处理
从无偿捐出1.6亿的企业家身上,我们看到了什么
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?