JS 全屏

全屏功能实现
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>全屏</title>
</head>

<body>
    <button class="quanping" onclick="launchFullScreen()">全屏</button>
    <button class="quit" onclick="cancelFullScreen()">退出全屏</button>
    <script>
        function launchFullScreen() {
            var element = document.body
            if (element.requestFullscreen) {
                element.requestFullscreen();
            } else if (element.msRequestFullscreen) {
                element.msRequestFullscreen();
            } else if (element.mozRequestFullScreen) {
                element.mozRequestFullScreen();
            } else if (element.webkitRequestFullscreen) {
                element.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
            }
        }

        function cancelFullScreen() {

            if (document.exitFullscreen) {
                document.exitFullscreen();
            } else if (document.msExitFullscreen) {
                document.msExitFullscreen();
            } else if (document.mozCancelFullScreen) {
                document.mozCancelFullScreen();
            } else if (document.webkitExitFullscreen) {
                document.webkitExitFullscreen();
            }
        }  
    </script>
</body>

</html>

 

### JavaScript实现全屏功能的方法 JavaScript 提供了多种方式来实现网页或特定元素的全屏显示。以下是几种常见的方法及其具体实现: #### 方法一:使用 `Element.requestFullscreen()` 实现全屏 `Element.requestFullscreen()` 是一种标准方法,用于异步请求使指定的 HTML 元素进入全屏模式[^1]。 ```javascript function enterFullScreen(elementId) { const element = document.getElementById(elementId); if (element && typeof element.requestFullscreen === 'function') { element.requestFullscreen(); } } ``` 此函数接受一个参数 `elementId`,表示要设置为全屏的目标元素 ID。如果目标元素存在并支持 `requestFullscreen` 方法,则调用该方法使其进入全屏模式。 --- #### 方法二:检测和退出全屏状态 除了进入全屏外,还需要能够判断当前是否处于全屏状态以及提供退出全屏的功能。可以通过 `document.fullscreenElement` 和 `document.exitFullscreen()` 来完成这些操作[^2]。 ```javascript // 判断是否已全屏 function isFullScreen() { return !!document.fullscreenElement; } // 退出全屏 function exitFullScreen() { if (typeof document.exitFullscreen === 'function') { document.exitFullscreen(); } } ``` 上述代码片段提供了两个辅助函数:`isFullScreen` 用来检查当前是否有任何元素处于全屏状态;而 `exitFullScreen` 负责退出全屏模式。 --- #### 方法三:动态切换全屏状态 为了更灵活地控制全屏行为,可以创建一个通用的开关逻辑,在同一按钮上实现“进入”与“退出”两种动作之间的转换[^3]。 ```javascript let isFullScreenActive = false; function toggleFullScreen() { if (!isFullScreenActive) { // 如果尚未全屏则尝试启动它 document.documentElement.requestFullscreen() .then(() => { isFullScreenActive = true; }) .catch((err) => console.error(`Error attempting to enable full-screen mode: ${err.message}`)); } else { // 否则就结束现有的全屏会话 document.exitFullscreen() .then(() => { isFullScreenActive = false; }); } } ``` 这里定义了一个布尔变量 `isFullScreenActive` 记录当前的状态,并通过条件分支决定执行哪项操作——要么发起新的全屏请求,要么终止现有的一次。 --- #### 方法四:Vue.js 中集成全屏管理器 对于基于框架的应用程序开发场景来说,比如 Vue.js,还可以利用其生命周期钩子进一步增强用户体验[^4]。 ```vue <template> <button @click="toggleFullScreen">Toggle Full Screen</button> </template> <script> export default { data() { return { isFullScreen: false, }; }, mounted() { document.addEventListener('fullscreenchange', () => { this.isFullScreen = !this.isFullScreen; }); }, beforeDestroy() { document.removeEventListener('fullscreenchange', () => {}); }, methods: { toggleFullScreen() { if (!document.fullscreenElement) { document.documentElement.requestFullscreen().catch(err => alert(`Error enabling full screen: ${err.message}`)); } else { document.exitFullscreen(); } this.isFullScreen = !this.isFullScreen; } } }; </script> ``` 在这个例子中展示了如何将前面提到的技术融入到现代前端组件化设计当中去。不仅实现了基本功能还增加了响应式的 UI 更新机制以便及时反馈给用户最新的交互结果。 --- ### 总结 以上介绍了四种不同的技术手段帮助开发者轻松达成跨平台兼容性的 JavaScript 全屏解决方案。每种都有各自适用范围及优缺点,请根据实际项目需求选取最合适的那套策略加以应用即可获得满意效果。 问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值