前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【JS】1705- 重学 JavaScript API - Fullscreen API

【JS】1705- 重学 JavaScript API - Fullscreen API

作者头像
pingan8787
发布于 2023-09-01 02:33:55
发布于 2023-09-01 02:33:55
50200
代码可运行
举报
文章被收录于专栏:前端自习课前端自习课
运行总次数:0
代码可运行
❝前期回顾: 1. Page Visi

本文中,我们将探索 Fullscreen API 的概念、使用方法、实际应用、兼容性和优缺点,并提供一些建议和注意事项。让我们一起深入了解吧!

🔍 1. 什么是 Fullscreen API

1.1 概念介绍

Fullscreen API 是一组用于控制网页全屏显示的 JavaScript 方法和属性。它允许开发者通过 JavaScript 代码将网页中的特定元素或整个文档切换到全屏模式,以便更好地利用屏幕空间。 通过 Fullscreen API,开发者可以通过按键、鼠标点击或触摸手势等方式触发全屏切换,并在全屏状态下进行自定义的交互和操作。

1.2 作用和使用场景

Fullscreen API 的作用在于提供更好的用户体验和交互方式。它可以在特定场景中增强网页的功能性,例如:

  • 视频播放器:在观看视频时,通过将视频元素全屏显示,可以提供更沉浸式的观影体验。
  • 游戏应用:在游戏应用中,全屏模式可以消除干扰,使玩家能够专注于游戏内容。
  • 演示文稿:通过将演示文稿全屏显示,可以确保观众集中注意力,展示出更好的视觉效果。
  • 图片浏览器:在浏览图片时,将图片全屏显示可以提供更大的展示区域,使用户能够更好地欣赏图片细节。

Fullscren API 的使用场景丰富多样,可以根据具体需求来应用。

💻 2. 如何使用 Fullscreen API

Fullscreen API 提供了一组方法和属性,用于实现全屏显示和控制。下面是一些常用的方法和属性:

  • document.documentElement.requestFullscreen(): 这个方法将整个文档切换到全屏模式。
  • element.requestFullscreen(): 这个方法将指定的元素切换到全屏模式。
  • document.exitFullscreen(): 这个方法用于退出全屏模式。
  • document.fullscreenElement: 这个属性返回当前处于全屏状态的元素,如果没有元素处于全屏状态,则返回 null。
  • document.fullscreenEnabled: 这个属性表示当前环境是否支持 Fullscreen API。

下面是一个简单的使用示例,用于将文档切换到全屏模式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const button = document.querySelector("button");
button.addEventListener("click", () => {
  document.documentElement.requestFullscreen();
});

在这个例子中,我们获取了一个按钮元素,当按钮被点击时,我们调用 requestFullscreen() 方法,将整个文档切换到全屏模式。当用户想要退出全屏模式时,可以按 Esc 键或调用 exitFullscreen() 方法。

🚀 3. 实际应用

Fullscreen API 可以应用于各种不同的场景中。下面是一些实际应用的示例:

  • 视频播放器:通过 Fullscreen API,可以将视频元素切换到全屏模式,提供更好的观影体验。
  • 游戏应用:在游戏应用中,全屏模式可以消除干扰,提供更好的游戏体验。
  • 演示文稿:通过 Fullscreen API,可以将演示文稿全屏显示,确保观众集中注意力,展示出更好的视觉效果。
  • 图片浏览器:在浏览图片时,将图片全屏显示可以提供更大的展示区域,使用户能够更好地欣赏图片细节。

除此之外,Fullscreen API 还可以应用于各种需要全屏显示的场景中。

接下来使用 Fullscreen API 实现图片全屏展示的示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>Fullscreen Image Demo</title>
    <style>
      img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
    </style>
  </head>
  <body>
    <button id="fullscreen-btn">Fullscreen</button>
    <img src="https://picsum.photos/1200/800" alt="Demo Image" />
    <script>
      const fullscreenBtn = document.querySelector("#fullscreen-btn");
      const image = document.querySelector("img");

      fullscreenBtn.addEventListener("click", () => {
        if (document.fullscreenElement) {
          document.exitFullscreen();
        } else {
          image.requestFullscreen();
        }
      });
    </script>
  </body>
</html>

按照类似实现方式,可以实现视频全屏播放、PPT 全屏播放等效果。

🎯 4. 兼容性和优缺点

4.1 兼容性

以下是 Fullscreen API 的兼容性列表,包含了主流浏览器及其支持的最低版本:

  • Chrome 15+✅
  • Firefox 10+✅
  • Safari 5.1+✅
  • Edge 12+✅
  • Opera 12.1+✅
  • Internet Explorer 11+✅
  • iOS Safari 4.2+✅

可以在 Can I use[1] 网站上查看 Fullscreen API 的兼容性详情。

4.2 优缺点

使用 Fullscreen API 可以提供更好的用户体验和交互方式,但是也存在一些缺点。下面是一些优缺点的总结: 优点:

  • 提供更好的用户体验和交互方式。
  • 可以在特定场景中增强网页的功能性。

缺点:

  • 兼容性问题,不同浏览器的支持程度不同。
  • 部分用户可能不喜欢全屏模式,可能会选择手动退出全屏。

4.3 工具推荐

以下是几个基于 Fullscreen API 实现的 GitHub 仓库:

  1. fullPage.js[2]:34.6k⭐,一个基于 Fullscreen API 的全屏滚动库,支持多种效果和自定义配置。
  2. screenfull.js[3]:6.8k⭐,一个小巧的 Fullscreen API 库,支持多种浏览器和设备。
  3. BigVideo.js[4]:2.3k⭐,一个基于 Fullscreen API 的视频背景库,支持多种视频格式和配置选项。

✨ 5. 使用建议和注意事项

在使用 Fullscreen API 时,以下是一些建议和注意事项:

  • 请确保提供合适的用户控制方式,让用户可以自由切换全屏模式和退出全屏模式。
  • 在切换到全屏模式时,注意调整页面布局和样式,以适应全屏显示。
  • 注意处理兼容性问题,提供备选方案或回退策略,以便在不支持 Fullscreen API 的浏览器中提供良好的用户体验。

🔚 6. 总结

本文介绍了 Fullscreen API,它是一种用于控制浏览器全屏显示的 JavaScript API。通过 Fullscreen API,开发者可以提供更好的用户体验和交互方式。

📚 7. 拓展阅读

  • Fullscreen API[5]: Mozilla Developer Network 对 Fullscreen API 的详细文档。
  • Using the Fullscreen API in web browsers[6]: SitePoint 的文章,介绍如何在网页中使用 Fullscreen API。
  • HTML Fullscreen API Specification[7]: Fullscreen API 的规范文档,提供了更深入的技术细节。

Reference

[1]

Can I use: https://caniuse.com/?search=Fullscreen

[2]

fullPage.js: https://github.com/alvarotrigo/fullPage.js

[3]

screenfull.js: https://github.com/sindresorhus/screenfull.js

[4]

BigVideo.js: https://github.com/dfcb/BigVideo.js

[5]

Fullscreen API: https://developer.mozilla.org/en-US/docs/Web/API/Fullscreen_API

[6]

Using the Fullscreen API in web browsers: https://www.sitepoint.com/use-html5-full-screen-api/

[7]

HTML Fullscreen API Specification: https://fullscreen.spec.whatwg.org/

往期回顾

#

如何使用 TypeScript 开发 React 函数式组件?

#

11 个需要避免的 React 错误用法

#

6 个 Vue3 开发必备的 VSCode 插件

#

3 款非常实用的 Node.js 版本管理工具

#

6 个你必须明白 Vue3 的 ref 和 reactive 问题

#

6 个意想不到的 JavaScript 问题

#

试着换个角度理解低代码平台设计的本质

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-06-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端自习课 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
JS 实现全屏和退出全屏
在 Web 开发中,全屏模式可以提供更沉浸式的体验,特别适用于视频播放、游戏展示和演示等场景。通过 JavaScript 的 Fullscreen API,我们可以以编程方式控制元素的全屏状态。
Cell
2023/09/16
4.5K0
掌握这个API,让你的网页展示效果提升10倍
第一反应是用 CSS 设置 position: fixed 加上宽高 100%,但这样并不是真正的全屏,因为浏览器的工具栏还在。
沉浸式趣谈
2025/02/26
1552
掌握这个API,让你的网页展示效果提升10倍
JavaScript网页全屏API
在大多数的浏览器中都有实现网页全屏显示的功能,并且大部分浏览器实现全屏显示和退出全屏显示的快捷键通常是F11和Esc两个按键。如今,W3C已经制定了关于网页全屏显示的API,利用这个API 可以实现网页的全屏显示,并且还能将某个特定的元素设置为全屏显示,在各浏览器的兼容性:google chrome 15 +, safri5.1+,firfox10+,IE11都已经开始支持全屏API。
用户6167509
2019/09/04
3.1K1
分享 7 个你可能还未使用过的 JavaScript Web API
你可以将Web API看作是神奇的通道,它让JavaScript能够与Web浏览器进行交互,并访问各种酷炫的功能。
前端达人
2023/08/31
3650
分享 7 个你可能还未使用过的 JavaScript Web API
掌握这个API,让你的网页展示效果提升10倍
第一反应是用 CSS 设置 position: fixed 加上宽高 100%,但这样并不是真正的全屏,因为浏览器的工具栏还在。
沉浸式趣谈
2025/02/24
1550
掌握这个API,让你的网页展示效果提升10倍
JS实现全屏模式
代码实现 <template> <button @click="handleClick">切换全屏模式</button> </template> const handleClick = () => { if(document.fullscreenElement) { document.exixFullscreen() } else { document.documentElement.requestFullscreen() } } 事件监听 // 方式1 document.onfulls
peng_tianyu
2022/12/15
4.4K0
HTML5的这些api你知道吗?
摘要总结:本文主要介绍了移动端Web开发中一些常用的API,包括DeviceMotionEvent、DeviceOrientationEvent、Gyroscope、Compass、GPS、MediaStream和MediaRecorder,以及这些API在移动应用程序开发中的实际应用和注意事项。
IMWeb前端团队
2017/12/29
1.4K0
JavaScript 实现点击\u002F关闭全屏
requestFullscreen 和 exitFullscreen 方法对现代的浏览器支持还是很可以的,在 PC 端上展示毫无压力。
Jimmy_is_jimmy
2022/09/26
9330
JavaScript 实现点击\u002F关闭全屏
在vue中如何实现点击变成全屏及缩放
项目中有点击按钮实现全屏功能 目录 方式一:js实现全屏 方式二:使用的是sreenfull插件,执行命令安装 方式一:js实现全屏 <template> <div> <a-button type="primary" @click="screen">全屏</a-button> </div> </template> data: data() { return { fullscreen: false }; }, methods: screen() {
江一铭
2022/06/16
1.6K0
在vue中如何实现点击变成全屏及缩放
未来网站开发必备:14个让你惊艳的JavaScript Web API!
快来免费体验ChatGpt plus版本的,我们出的钱 体验地址:https://chat.waixingyun.cn 可以加入网站底部技术群,一起找bug,另外新版作图神器已上线 https://cube.waixingyun.cn/home
前端小智@大迁世界
2023/07/09
6370
未来网站开发必备:14个让你惊艳的JavaScript Web API!
那些关于DOM的常见Hook封装(二)
本文是深入浅出 ahooks 源码系列文章的第十五篇,这个系列的目标主要有以下几点:
GopalFeng
2022/08/01
9400
这些Web API真的有用吗?别问,问就是有用
本文列举了一些列比较不常见的Web API,内容较多,所以有关兼容性的内容在本文不会出现,大家可以自己去查阅。以下案例能配动图的我尽量去配了,以免内容枯草乏味,但是如果内容有误,也请大家亲喷或者纠正?
用户1462769
2019/08/26
1.3K0
这些Web API真的有用吗?别问,问就是有用
封装 Vue FullScreenToggler 组件
vue-fullscreen 是一个用于将任意页面元素进行全屏切换的 Vue 插件,基于 screenfull。这个插件本身提供了组件、指令以及 API 三种使用方式,具体的使用方法请参考 vue-fullscreen。
Cell
2023/09/18
4970
# 学会这些 Web API 使你的开发效率翻倍
随着浏览器的日益壮大,浏览器自带的功能也随着增多,在 Web 开发过程中,我们经常会使用一些 Web API 增加我们的开发效率。
九旬
2023/10/19
5210
前端技巧——js篇
复制操作 copy () { let url = this.code; let oInput = document.createElement('input'); oInput.value = url; document.body.appendChild(oInput); oInput.select(); // 选择对象 console.log(oINput.value); document.execCommand('Cooy'); // 执行浏览器复制命令 alert
流眸
2019/08/12
2.1K0
:fullscreen在大屏下的样式设置
最近公司在做大屏显示,不过这个页面可以在大屏下显示,也可以在电脑上显示,不过显示的内容是不同的。
玖柒的小窝
2021/11/03
1.6K0
:fullscreen在大屏下的样式设置
【前端词典】分享 8 个有趣且实用的 API
这些 API 的示例代码我已放在 github 上了,地址:https://github.com/wanqihua/The-dictionary-of-front-end-test
小生方勤
2019/05/31
8000
06-移动端开发教程-fullpage框架
CSS3的新特性已经讲完了,接下来我们看一下jQuery的一个全屏jQuery全屏滚动插件fullPage.js。我们经常见到一些全屏的特绚丽页面,手指或者鼠标滑动一下就是一整屏切换,而且还有各种效果。比如:全屏滑动案例
老马
2018/02/18
5.4K0
这些不常用的Web API真的有用吗? 别问,问就是有用🈶
本文列举了一些列比较不常见的Web API,内容较多,所以有关兼容性的内容在本文不会出现,大家可以自己去查阅。 以下案例能配动图的我尽量去配了,以免内容枯草乏味,但是如果内容有误,也请大家亲喷或者纠正👌 方法列表 querySelector(元素向下查询,返回一个) querySelectorAll(元素向下查询,返回多个) closest(元素向上查询) dataset(获取元素以"data-"为前缀的属性集合) URLSearchParams(查询参数) hidden(隐藏元素) contentedit
聪明的汤姆
2019/08/23
9410
这些不常用的Web API真的有用吗? 别问,问就是有用🈶
实现一个靠谱好用的全屏组件,顺手入门 Headless 组件
本文是 基于Vite+AntDesignVue打造业务组件库[2] 专栏第 6 篇文章【实现一个靠谱好用的全屏组件,顺手入门 Headless 组件】,聊聊一个使用频率还挺高的组件——全屏组件,顺便了解下什么是 Headless 组件,并尝试动手将一个普通组件改造成 Headless 组件。
程序员白彬
2023/03/02
1.6K0
实现一个靠谱好用的全屏组件,顺手入门 Headless 组件
相关推荐
JS 实现全屏和退出全屏
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档