1.首先要判断浏览器类型 (是否IE),来控制是否展示功能,在计算属性中判断:
computed: {
showFullScreenBtn () {
return window.navigator.userAgent.indexOf('MSIE') < 0;
}
},
2.vue代码:
<i v-if="showFullScreenBtn" :class="isFullScreen?'el-icon-crop':'el-icon-full-screen'" class="backPage" @click="fullScreenLoad()">{{isFullScreen?'退出全屏':'全屏'}}</i>
3. isFullScreen变量和fullScreenLoad()方法控制是否全屏或者退出全屏
fullScreenLoad(){
if(this.isFullScreen){
// 退出全屏
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.webkitCancelFullScreen) {
document.webkitCancelFullScreen();
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
}
}else{
// 全屏显示
if (document.body.requestFullscreen) {
document.body.requestFullscreen();
} else if (document.body.mozRequestFullScreen) {
document.body.mozRequestFullScreen();
} else if (document.body.webkitRequestFullScreen) {
document.body.webkitRequestFullScreen();
} else if (document.body.msRequestFullscreen) {
document.body.msRequestFullscreen();
}
}
}
4.created中监听各个浏览器全屏事件,控制isFullScreen
created(){
//监听各浏览器fullscreenchange 事件处理
document.addEventListener('fullscreenchange', () => {
this.isFullScreen=!this.isFullScreen
});
document.addEventListener('mozfullscreenchange', () => {
this.isFullScreen=!this.isFullScreen
});
document.addEventListener('webkitfullscreenchange', () => {
this.isFullScreen=!this.isFullScreen
});
document.addEventListener('msfullscreenchange', () => {
this.isFullScreen=!this.isFullScreen
});
},