赞
踩
全屏API是一个浏览器Web API,允许您为HTML元素启用全屏模式。它可以省去使用CSS和JavaScript实现全屏功能的麻烦。 全屏API的使用案例因今天的网站复杂性而变得更加丰富多彩。在本文中,将提供使用全屏API的全面指南。
你应该具有使用HTML、DOM和JavaScript创建网页的基本知识。具体来说,您应该知道如何使用HTML元素、DOM选择器方法、事件侦听器和JavaScript对象。
全屏API具有让您在全屏模式下显示元素的功能(主要是图像、媒体和图形元素)。没有它,你需要使用一些另外的CSS和JavaScript代码。
尽管全屏API可以在所有主要桌面和移动浏览器上使用,但有时最佳实践是使用某些属性的多个前缀版本(对于document.fullscreenElement有mozFullScreenElement用于Mozilla Firefox或webkitIsFullScreen)。如果您有任何疑问,可以在MDN上查看。
要成功使用全屏API,您需要熟悉其属性和方法。它们包括:
实现此功能的第一步是请求全屏模式。可以使用requestFullscreen()方法。
这是请求全屏模式的代码:
- js复制代码let image = document.querySelector('image.img');
-
- image.requestFullscreen();
上面的代码将返回错误,因为全屏只能通过用户交互(例如单击、双击等)激活。
在下面的代码中,我们将使用单击事件来激活全屏模式。
- js复制代码let image = document.querySelector('img.image');
-
- image.addEventListener('click', function(e){
- image.requestFullscreen();
- })
在上面的代码中,我使用了一个querySelector()方法来选择一个img元素。然后我附加了一个单击事件侦听器,以使图像在单击时全屏显示。
激活全屏模式后,需要exitFullscreen()方法退出全屏模式。
这是退出全屏模式的代码:
document.exitFullscreen();
在现实项目中,您需要用户与网页交互才能退出全屏。您需要一个事件侦听器来侦听用户交互,例如单击、双击、按键等。
以下是如何将事件侦听器与该exitFullscreen()函数一起使用:
- js复制代码let image = document.querySelector('img.image');
-
- image.addEventListener('click', function(e){
- image.requestFullscreen();
- })
-
- image.addEventListener('dblclick', function(e){
- document.exitFullscreen();
- })
从上面的代码来看,当用户单击图像时,全屏模式就会被激活。当双击图像时,它会被停用。
要检查元素是否处于全屏模式,我们将使用该fullscreenElement属性。
值null表示它不处于全屏模式。
从上面的示例中,可以修改代码以根据属性的值激活和退出全屏模式fullscreenElement。
以下是如何使用该属性:
- js复制代码image.addEventListener('click', function(e){
-
- if(document.fullscreenElement){
- document.exitFullscreen()
- } else {
- image.requestFullscreen();
- }
-
- })
从上面的代码中,已指示浏览器在单击图像时在全屏模式和正常模式之间切换。
有时,可能希望在激活或退出全屏模式时进行一些更改(例如提醒用户)。
可以使用 'fullscreenchange' 事件,而不是使用 document.fullscreenElement 和多个事件处理程序来检查元素是否处于全屏状态。
这是代码:
- js复制代码document.addEventListener('fullscreenchange', function(e){
-
- if(document.fullscreenElement){
- console.log('fullscreen mode activated');
- } else {
- console.log('fullscreen mode deactivated');
- }
-
- })
从上面的代码来看,只要从任何元素激活或退出全屏模式,开发人员工具中就会显示 console.log() 消息。
尽管全屏可以应用于所有元素,但它最好用于媒体和交互式元素,例如 img、视频、iframe 和 canvas。
尽管用例很多,但我将解释其中的一些。
对于画布元素,如果正在构建在线游戏,它可以用于使您的游戏全屏显示。此外,如果您正在使用基于画布的图表库构建仪表板,则可以使用它在用户单击仪表板中的各个图表时使其全屏显示。
对于视频元素,如果正在为项目构建自定义视频播放器,则可以使用它来实现全屏功能。
对于图像元素,如果正在构建支持图像和视频上传的 Web 应用程序(例如社交媒体平台),则可以使用此 API 在元素上实现全屏模式。
对于 iframe、embed 和 object 元素,如果您正在构建图像到 pdf 转换器网站,可以使用此 API 使转换后的 PDF 全屏显示以供用户查看。
以下是全屏 API 的最佳实践和技巧:
- html复制代码<button>fullscreen</button>
- <iframe allow='fullscreen' src='https://external.com/content' width='500' height='300'> </iframe>
-
- <script>
- let button = document.querySelector('button');
- let iframe = document.querySelector('iframe');
-
- button.addEventListener('click', function (){
- iframe.requestFullscreen();
- })
- </script>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。