screenfull全屏显示
创始人
2024-06-02 06:56:07
0

浏览器本身提供了对screenfull的API支持,但是需要考虑浏览的兼容性。如果跨浏览器使用 JavaScript 全屏 API,可以使用screenfull插件,该插件已对兼容性做了处理。

1、screenfull原生API

  • 全局全屏
// 全局全屏
const screen = () => {let element = document.documentElement;// 不全屏是null,返回false,let isFull= document.fullscreenElement === null ? false : true;// 全屏状态切换if (isFull) {// 退出全屏if (document.exitFullscreen) {document.exitFullscreen();}} else {// 全屏if (element.requestFullscreen) {element.requestFullscreen();}}  
};
  • 指定内容全屏
// 局部全屏
const partScreen = () => {/* 获取()元素以全屏显示页面 */const full = document.getElementById('mainContent');let isFull = document.fullscreenElement === null ? false : true;if (!isFull) {if (full && full.requestFullscreen) {full.requestFullscreen();}} else {if (document.exitFullscreen) {document.exitFullscreen();}}
};

如果考虑浏览器兼容性的话,完整的功能应该是

const openFullscreen = () => {/* 获取()元素以全屏显示页面 */const full = document.getElementById('mainContent');if (full.RequestFullScreen) {full.RequestFullscreen();} else if (full.mozRequestFullScreen) {//兼容Firefoxfull.mozRequestFullScreen();} else if (full.webkitRequestFullScreen) {//兼容Chrome, Safari and Opera等full.webkitRequestFullScreen();} else if (full.msRequestFullscreen) {//兼容IE/Edgefull.msRequestFullscreen();}
};const exitFullscreen = () => {if (document.exitFullscreen) {document.exitFullscreen();} else if (document.mozCancelFullScreen) {//兼容Firefoxdocument.mozCancelFullScreen();} else if (document.webkitExitFullscreen) {//兼容Chrome, Safari and Opera等document.webkitExitFullscreen();} else if (document.msExitFullscreen) {//兼容IE/Edgedocument.msExitFullscreen();}
};

2、screenfull插件

插件文档

安装

npm i screenfull

使用

import screenfull from 'screenfull';
// 使用screenfull插件
let isFullscreen = ref(false);
const plugin = () => {const element = document.getElementById('mainContent'); if (screenfull.isEnabled && !screenfull.isFullscreen) {screenfull.request(element);}isFullscreen.value = !screenfull.isFullscreen;screenfull.toggle();
};

浏览器支持情况

浏览器支持查看

参数

  • isEnabled
    返回一个布尔值是否允许您进入全屏
  • isFullscreen
    返回一个布尔值是否全屏处于活动状态
  • toggle(element, options?)
    如果不活动则请求全屏,否则退出。
    接受一个 DOM 元素和FullscreenOptions.
    返回在元素进入/退出全屏后解决的承诺

相关内容

热门资讯

新系统苹果安卓不了,苹果与安卓... 最近手机圈可是热闹非凡呢!新系统发布,各大品牌纷纷秀肌肉,但你知道吗?苹果和安卓的新系统竟然有点“八...
使用安卓系统的比例,引领移动时... 你知道吗?在科技飞速发展的今天,手机已经成为了我们生活中不可或缺的一部分。而在这其中,安卓系统可谓是...
安卓刷cos系统下载,轻松实现... 你有没有想过给你的安卓手机换换口味?别再局限于那千篇一律的安卓系统了,今天就来给你揭秘一下如何下载并...
安卓系统怎么diyqq主题,D... 亲爱的安卓用户们,你是不是也厌倦了手机上那千篇一律的QQ主题呢?想要给QQ来个焕然一新的大变身?那就...
夏普电视安卓系统包,畅享智能生... 亲爱的读者们,你是否在寻找一款既时尚又实用的电视呢?今天,我要给你带来的是一款在市场上颇受欢迎的电视...
电脑安卓系统设置旋转,轻松实现... 你有没有发现,有时候用电脑看视频或者玩游戏,屏幕突然转了个方向,是不是觉得有点懵?别急,今天就来给你...
安卓11系统晶晨,安卓11系统... 你知道吗?最近安卓系统又升级啦!这次可是安卓11系统哦,而且听说晶晨芯片也来凑热闹,两者强强联手,简...
手机体验安卓系统,深度解析手机... 你有没有发现,现在手机的世界里,安卓系统就像是个万能的小超人,无处不在,无所不能。它不仅让我们的手机...
安卓系统和win系统的平板,性... 你有没有发现,现在市面上平板电脑的种类越来越多了?今天,咱们就来聊聊两款超级热门的平板——安卓系统和...
此安卓系统自带应用,功能丰富、... 你知道吗?手机里那些看似不起眼的应用,其实可是隐藏着大秘密呢!今天,就让我带你一探究竟,揭开安卓系统...
安卓手机系统排名安兔兔,揭秘当... 你有没有发现,现在安卓手机市场上,各种品牌的手机层出不穷,让人眼花缭乱。但是,你知道哪款手机的系统性...
虚拟座位排队系统安卓,安卓平台... 你有没有想过,在繁忙的商场、电影院或者学校,排队等待的时候,是不是能有个什么高科技的小玩意儿,让你不...
简洁流畅的安卓系统,简洁流畅的... 你有没有发现,现在的安卓手机越来越流畅了?没错,我要跟你聊聊这个简洁流畅的安卓系统,它可是让我们的生...
安卓ps系统最低要求,揭秘最低... 你有没有想过,你的安卓手机上安装PS系统,会是怎样的体验呢?想象你可以在手机上轻松处理图片,编辑视频...
导航ce系统可以刷安卓系统,解... 你有没有想过,你的导航CE系统竟然可以刷上安卓系统?听起来是不是有点不可思议?别急,让我带你一探究竟...
安卓系统video层级ifra... 你有没有发现,在使用安卓手机浏览网页时,有时候会遇到一些视频嵌在网页里,而且这些视频竟然还能在ifr...
安卓9系统后台受限,揭秘后台受... 你有没有发现,自从你的手机升级到了安卓9系统,后台的应用好像变得有点“神秘”了呢?没错,安卓9系统后...
苹果的ios系统和安卓系统,两... 你有没有发现,现在手机市场上两大操作系统,就像两个超级英雄,一个叫苹果的iOS系统,一个叫安卓系统,...
鸿蒙系统拷贝到安卓系统,鸿蒙系... 你知道吗?最近科技圈里有个大动作,那就是鸿蒙系统竟然被一些技术达人成功拷贝到了安卓系统上!这可不是一...
安卓升级鸿蒙系统壁纸,安卓壁纸... 你知道吗?最近安卓用户们都在热议一个话题——升级鸿蒙系统,而且还有不少人为之激动地更换了壁纸呢!这究...