使用 JavaScript 切换全屏模式

欢迎来到如何使用Javascript切换全屏模式的快速教程和示例。是的,老祖母的互联网时代现在已经结束了。现代Web浏览器可以轻松地在Javascript中切换到全屏模式。

  • 要进入整个页面的全屏模式 –document.documentElement.requestFullscreen()
  • 要进入特定元素的全屏模式 –document.getElementById("ID").requestFullscreen()
  • 最后,用于退出全屏。document.exitFullscreen()

是的,这就是所有基础知识。但是,如果您需要一个实际示例,请继续阅读!

快速笔记

  • 在撰写本文时,已知全屏API在iPhone Safari上不起作用。执行自己的检测和回退。

 

示例代码下载

点击这里下载源代码,我已经在 MIT 许可证下发布了它,所以请随意在它之上构建或在您自己的项目中使用它。

JAVASCRIPT 全屏模式

好吧,现在让我们进入在 Javascript 中切换全屏模式的示例。

 

第1部分)切换全屏模式

1-全屏.html
<!-- (A) IMAGE FOR TESTING FULLSCREEN -->
<img id="demo" src="chick.jpg"/>
 
<!-- (B) FULLSCREEN BUTTONS -->
<div>
  <!-- (B1) ENTIRE PAGE -->
  <input type="button" value="Entire Page"
         onclick="document.documentElement.requestFullscreen()"/>
 
  <!-- (B2) IMAGE ONLY -->
  <input type="button" value="Image Only"
         onclick="document.getElementById('demo').requestFullscreen()"/>
 
  <!-- (B3) EXIT FULLSCREEN -->
  <input type="button" value="Exit"
         onclick="document.exitFullscreen();"/>
</div>

是的,正如介绍片段中宣传的那样。

  • 用于进入全屏模式requestFullscreen()
  • 用于退出全屏。exitFullscreen()

就这么简单。

  • document.documentElement指整个 HTML 文档。因此,会将整个页面设置为全屏模式。document.documentElement.requestFullscreen()
  • document.getElementById(TARGET).requestFullscreen()是不言自明的...我们仅将页面的特定部分设置为全屏模式。

 

 

第 2 部分)检测全屏更改

2-事件.html
 <!-- (A) FULLSCREEN BUTTONS -->
<input type="button" value="Fullscreen"
       onclick="document.documentElement.requestFullscreen()"/>
<input type="button" value="Exit"
       onclick="document.exitFullscreen();"/>
 
 <!-- (B) JAVASCRIPT -->
<script>
// (B) LISTEN TO FULLSCREEN TOGGLE
document.addEventListener("fullscreenchange", () => {
  if (document.fullscreenElement===null) {
    console.log("Exited fullscreen");
  } else {
    console.log("Entered fullscreen");
  }
});
 
// (C) ON FULLSCREEN ERROR
document.addEventListener("fullscreenerror", (evt) => {
  console.error(evt);
});
</script>

对于想要更多控件的你们,想要在用户切换全屏时做一些事情:

  • 每当切换全屏模式时,都会触发该事件。fullscreenchange
  • document.fullscreenElement包含当前全屏元素。如果是,则用户未处于全屏模式。null
  • 当用户在进入全屏模式时遇到问题时,将触发该事件。fullscreenerror

 

 

额外)仅全屏CSS

1-全屏.html
#demo:fullscreen { background: white }

对于那些感兴趣的人,注意到CSS的单行了吗?是的,我们只能用于在元素处于全屏模式时对元素应用样式。:fullscreen

 

有用的位和链接

以上就是主要教程的全部内容,这里有一小节介绍一些可能对您有用的附加功能和链接。

 

兼容性检查

我建议进行特征检测并使用Polyfill – 查看 Modernizr

 

链接和参考

 

结束

感谢您的阅读,本指南已到此结束。我希望它对您的项目有所帮助,如果您想与本指南分享任何内容,请随时在下面发表评论。祝你好运,编码愉快!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值