如何实现HTML5全屏模式Full Screen API

如何实现HTML5全屏模式Full Screen API,第1张

fullscreen API 接口

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

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

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

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

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

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

由于fullscreen API 存在浏览器兼容性问题,所以我们在使用的时候需要进行跨浏览器处理,参考代码:

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

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('非全屏模式')

}

}

跨浏览器发动全屏

function lanchFullscreen(element){

if(element.requestFullscreen){

element.requestFullscreen()

}

else if(element.mozRequestFullScreen){

element.mozRequestFullScreen()

}

else if(element.msRequestFullscreen){

element.msRequestFullscreen()

}

else if(element.webkitRequestFullscreen){

element.webkitRequestFullScreen()

}

}

跨浏览器退出全屏

function exitFullscreen(){

if(document.exitFullscreen){

document.exitFullscreen()

}

else if(document.mozCancelFullScreen){

document.mozCancelFullScreen()

}

else if(document.msExitFullscreen){

document.msExiFullscreen()

}

else if(document.webkitCancelFullScreen){

document.webkitCancelFullScreen()

}

}

各浏览器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*/ })

跨浏览器全屏模式下样式代码

:-webkit-full-screen { }

:-moz-full-screen { }

:-ms-fullscreen { }

:fullscreen { }

JavaScript d窗共有三种

1、window.alert("sometext")

2、window.confirm("sometext")

3、window.prompt("sometext","defaultvalue")

但是这3种方法都不能做一个大小固定的小窗口,要做大小固定的d窗,需要我们自己在HTML文档中编写:

HTML:

.btn:点击button后d窗出现

.close:点击X后d窗消失

.con:是d窗内容区

.bk:屏蔽页面其他内容,d窗出现时,d窗的z-index最大,其他内容不能进行 *** 作

CSS:

JQ:

页面展现效果:

1、点击按钮

2、出现一个自己控制的500*200的d框,同时浏览区背景为灰色

3、点击红色区域右上角X号,d窗会消失


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7681395.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-08
下一篇 2023-04-08

发表评论

登录后才能评论

评论列表(0条)

保存