浏览器全屏

HTML5提供了启动和退出浏览器全屏模式,但是麻烦的是,必须要事件来触发。

某个元素全屏:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<p id="one">开启全屏</p>
<script>
var o=document.getElementById("one");
function fullScreen(element) { 
  if(element.requestFullScreen) { 
  element.requestFullScreen(); 
} else if(element.webkitRequestFullScreen ) { 
    element.webkitRequestFullScreen(); 
  } else if(element.mozRequestFullScreen) { 
  element.mozRequestFullScreen(); 

}
o.οnclick=function(){
fullScreen(o);//p元素打开全屏
}
</script>
</body>

</html>

整个网页全屏:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<p id="one">开启全屏</p>
<p id="two">关闭全屏</p>
<script>
var o=document.getElementById("one");
var t=document.getElementById("two");
o.οnclick=function(){
launchFullscreen(document.documentElement);
}
launchFullscreen(document.documentElement);
function launchFullscreen(element) {
if(element.requestFullscreen) {
  element.requestFullscreen();
} else if(element.mozRequestFullScreen) {
  element.mozRequestFullScreen();
} else if(element.webkitRequestFullscreen) {
  element.webkitRequestFullscreen();
} else if(element.msRequestFullscreen) {
  element.msRequestFullscreen();
}
}
t.οnclick=function(){
exitFullscreen();//关闭全屏模式
}
function exitFullscreen() {
if(document.exitFullscreen) {
  document.exitFullscreen();
} else if(document.mozCancelFullScreen) {
  document.mozCancelFullScreen();
} else if(document.webkitExitFullscreen) {
  document.webkitExitFullscreen();
}
}
</script>
</body>

</html>

另外某些浏览器还可以通过meta直接设置全屏:

//uc全屏

<meta name="full-screen" content="yes"/>

//qq全屏

<meta name="x5-fullscreen" content="true"/>

//webAPP全屏

<meta name="apple-mobile-web-app-capable" content="yes"/>

<meta name="apple-mobile-web-app-capable" content="yes" /><!--apple强制全屏 -->
<meta name="screen-orientation" content="portrait"><!-- uc强制竖屏 -->
<meta name="full-screen" content="yes"><!-- UC强制全屏 -->
<meta name="browsermode" content="application"><!-- UC应用模式 -->
<meta name="x5-orientation" content="portrait"><!-- QQ强制竖屏 -->
<meta name="x5-fullscreen" content="true"><!-- QQ强制全屏 -->
<meta name="x5-page-mode" content="app"><!-- QQ应用模式 -->
<meta name="HandheldFriendly" content="true"><!-- 是针对一些老的不识别viewport的浏览器,列如黑莓 -->
<meta name="MobileOptimized" content="320"><!-- 微软的老式浏览器 -->

当然网上还有用css样式设置全屏的,介于我没能理解,这里就不放代码啦。

下面附上HTML5 fullscreen API接口及解释:

属性1:fullscreenElement 该属性返回当前处于全屏模式的DOM元素。

属性2:fullscreenEnabled 该属性返回当前 document 是否进入了可以请求全屏模式的状态。

方法1:requestFullscreen() 请求进入全屏模式。

方法2:exitFullscreen() 退出全屏模式。

事件1:fullscreenchange 进入/退出全屏模式切换时会触发。

事件2:fullscreenerror 进入/退出全屏模式失败时会触发。


跨浏览器返回正处于全屏的元素

function fullscreenElement(){

var fullscreenEle = document.fullscreenElement ||

document.mozFullScreenElement ||

document.webkitFullscreenElement;

//注意:要在用户授权全屏后才能获取全屏的元素,否则 fullscreenEle为null

console.log("全屏元素:"+fullscreenEle);

return fullscreenEle;

}

跨浏览器返回当前 document 是否进入了可以请求全屏模式的状态

function fullscreenEnable(){

var isFullscreen = document.fullscreenEnabled ||

window.fullScreen ||

document.webkitIsFullScreen ||

document.msFullscreenEnabled;

//注意:要在用户授权全屏后才能准确获取当前的状态

if(isFullscreen){

console.log('全屏模式');

}else{

console.log('非全屏模式');

}

}


各浏览器fullscreenchange 事件处理

document.addEventListener('fullscreenchange', function(){ /*code*/ });

document.addEventListener('webkitfullscreenchange', function(){ /*code*/});

document.addEventListener('mozfullscreenchange', function(){ /*code*/});

document.addEventListener('MSFullscreenChange', function(){ /*code*/});

 

各浏览器fullscreenerror 事件处理

document.addEventListener('fullscreenerror', function(){ /*code*/ });

document.addEventListener('webkitfullscreenerror', function(){ /*code*/});

document.addEventListener('mozfullscreenerror', function(){ /*code*/);

document.addEventListener('MSFullscreenError', function(){ /*code*/ });

参考网站:点击打开链接

参考网站:点击打开链接

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值