效果
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<style>
.main {
width: 300px;
height: 300px;
background-color: rgb(79, 108, 36);
border: 10px solid blue;
color: #fff;
}
</style>
<body>
<div>
<div class="main" id="mainId" @click="change">
显示全屏
</div>
</div>
</body>
<script>
const vm = new Vue({
el: '#mainId',
methods: {
change() {
let dom = document.getElementById('mainId');
this.toggle(dom);
console.log(dom);
},
// 进入全屏方法
enterFullscreen(docElm) {
// W3C
if (docElm.requestFullscreen) {
docElm.requestFullscreen(// 火狐
);
} else if (docElm.mozRequestFullScreen) {
docElm.mozRequestFullScreen(// 谷歌
);
} else if (docElm.webkitRequestFullScreen) {
docElm.webkitRequestFullScreen(// IE
);
} else if (docElm.msRequestFullscreen) {
docElm.msRequestFullscreen();
}
},
// 退出全屏方法
exitFullscreen() {
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.webkitCancelFullScreen) {
document.webkitCancelFullScreen();
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
}
},
// 判断当前页面是否全屏
getFullScreenStatus() {
return document.isFullScreen || document.mozIsFullScreen || document.webkitIsFullScreen;
},
// 全屏切换
toggle(docElm) {
if (!this.getFullScreenStatus()) {
// 全屏
this.enterFullscreen(docElm);
} else {
// 取消全屏
this.exitFullscreen();
}
}
}
})
</script>
</html>