JavaScript实现页面全屏展示功能

 更新时间:2026年02月04日 09:14:20   作者:小明记账簿  
这篇文章主要为大家详细介绍了如何使用JavaScript实现页面全屏展示功能,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以了解下

最近做一个网页项目,用户要求可以全屏展示,进入系统后隐藏地址栏,于是乎,经过调研就选择了全屏API,即便如此还是遇到了一些问题,总结一下,写下此篇文章,以免以后再遇到相同的问题。

在JavaScript中,实现页面全屏展示主要依赖于HTML5的Fullscreen API,这是一个相对较新的技术,因此在旧版本的浏览器上可能不受支持,现代浏览器支出如下。

检查浏览器是否支持Fullscreen API

在尝试使用Fullscreen API之前,最好先检查浏览器是否支持它。虽然现代浏览器普遍支持,但检查总是好的做法。

if (document.fullscreenEnabled ||
    document.mozFullScreenEnabled ||
    document.webkitFullscreenEnabled ||
    document.msFullscreenEnabled) {
    // 支持全屏
} else {
    // 不支持全屏
}

全屏模式

获取Element节点,然后使用requestFullscreen方法,可以使得这个节点全屏,全屏模式的具体实现可能因浏览器而异,所以要做不同浏览器处理。

const openFullScreen = () => {
  const full = document.getElementById('fullscreen')
  if (full.RequestFullScreen) {
    full.RequestFullScreen()
  } else if (full.mozRequestFullScreen) {
    full.mozRequestFullScreen()
  } else if (full.webkitRequestFullScreen) {
    full.webkitRequestFullScreen()
  } else if (full.msRequestFullscreen) {
    full.msRequestFullscreen()
  }
}

退出全屏模式

退出全屏模式可以通过调用document.exitFullscreen()方法实现。这个方法会尝试让当前处于全屏模式的元素退出全屏。用户手动按下ESC键,也可以退出全屏键。

const exitFullScreen = () => {
  if (document.exitFullScreen) {
    document.exitFullScreen();
  } else if (document.mozCancelFullScreen) {
    document.mozCancelFullScreen();
  } else if (document.webkitExitFullscreen) {
    document.webkitExitFullscreen();
  } else if (document.msExitFullscreen) {
    document.msExitFullscreen();
  }
}

获取全屏元素

document.fullscreenElement属性返回正处于全屏状态的Element节点,如果当前没有节点处于全屏状态,则返回null。可以通过此方法判断是否在全屏状态。

const fullscreenElement =
  document.fullscreenElement ||
  document.mozFullScreenElement ||
  document.webkitFullscreenElement;

注意事项

想要全屏的元素都应该在这个Element节点下面,否则的话全屏时不会展示。如下图的html结构,点击单开弹框依然无法在全屏模式下看到弹窗,推出全屏时会看到弹窗已经出现。如果想避免这种莫名的问题,可以把document.getElementById('fullscreen') 改成document.documentElement,让整个HTML全屏。

requestFullscreen方法只能是用户主动触发才可以,如果想在页面加载时通过js调用方法或者是触发click事件触发,我劝你还是放弃吧,在控制台出现如下警告:

刷新页面也会自动退出全屏模式;

如果想改变全屏状态时的样式,首先可以在全屏时添加一个calss,此外也可以使用:full-screen伪类,大部分浏览器都支持,检查全屏时元素,也是有使用:full-screen伪类的。

到此这篇关于JavaScript实现页面全屏展示功能的文章就介绍到这了,更多相关JavaScript页面全屏展示内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 如何用JS将base64图片压缩至指定大小

    如何用JS将base64图片压缩至指定大小

    在开发中通常在上传图片时,由于各种限制,需要将上传的图片压缩到某一大小范围内才能上传,这篇文章主要介绍了如何用JS将base64图片压缩至指定大小的相关资料,需要的朋友可以参考下
    2025-04-04
  • 原生js模拟淘宝购物车项目实战

    原生js模拟淘宝购物车项目实战

    这篇文章主要向大家推荐了一个原生js模拟淘宝购物车项目实战,包括商品的单选、全选、删除、修改数量、价格计算、数目计算、预览等功能的实现,感兴趣的小伙伴们可以参考一下
    2015-11-11
  • javascript制作loading动画效果 loading效果

    javascript制作loading动画效果 loading效果

    项目中多处要给ajax提交的时候增加等待动画效果,所以就写了一个简单的通用js方法,大家参考使用吧
    2014-01-01
  • js页面引导页的实现思路总结

    js页面引导页的实现思路总结

    在同学们使用某些网站的新版本页面的时候,经常会出现一个类似于新手引导一样的效果,本文主要介绍了js页面引导页的实现思路总结,感兴趣的可以了解一下
    2023-04-04
  • TypeScript创建一个简单Web应用

    TypeScript创建一个简单Web应用

    这篇文章主要为大家介绍了TypeScript创建一个简单Web应用,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • JavaScript面向对象分层思维全面解析

    JavaScript面向对象分层思维全面解析

    这篇文章主要介绍了JavaScript面向对象分层思维,js本身不是面向对象语言,在我们实际开发中其实很少用到面向对象思想。下文关于js面向对象知识给大家介绍的非常详细,感兴趣的朋友一起看看吧
    2016-11-11
  • javascript学习小结之prototype

    javascript学习小结之prototype

    本系列博文主要谈一些在 javascript 使用中经常会混淆的高级应用,包括: prototype, closure, scope, this关键字. 对于一个需要提高自己javascript水平的程序员,这些都是必须要掌握的,本节主要介绍prototype.
    2015-12-12
  • js禁止页面使用右键(简单示例代码)

    js禁止页面使用右键(简单示例代码)

    js禁止页面使用右键(简单示例代码)。需要的朋友可以过来参考下,希望对大家有所帮助
    2013-11-11
  • JavaScript实现与web通信的方法详解

    JavaScript实现与web通信的方法详解

    这篇文章主要介绍了JavaScript实现与web通信的方法详解,文章通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • JavaScript改变CSS样式的方法汇总

    JavaScript改变CSS样式的方法汇总

    JavaScript修改CSS有4种方法:1.修改节点style(内联样式);2.改变节点class或id;3.写入新的css;4.替换页面中的样式表。今天主要给大家介绍下前2种,因为后两种个人不是很推荐大家使用
    2015-05-05

最新评论