浏览器/iframe 全屏、退出全屏

2018-9-21 / 13 评论 / 10706 阅读

外面的 html 文件 index.html:

    

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <title>fullScreen</title>
    <style>
        body {
            margin: 0;
        }
    </style>
</head>

<body>
    <iframe allowfullscreen src="iframe.html" frameborder="0" style="width: 500px;height: 500px;background:#aaa"></iframe>
</body>

</html>

里面嵌套的 iframe.html 文件:


<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8">
</head>

<body>
    <h1>iframe</h1>
    <button id="button">全屏</button>
    <script>
        // 判断是否允许全屏
        var fullscreenEnabled =
            document.fullscreenEnabled ||
            document.mozFullScreenEnabled ||
            document.webkitFullscreenEnabled ||
            document.msFullscreenEnabled;
        // 全屏
        function launchFullscreen(element) {
            if (element.requestFullscreen) {
                element.requestFullscreen();
            } else if (element.mozRequestFullScreen) {
                element.mozRequestFullScreen();
            } else if (element.msRequestFullscreen) {
                element.msRequestFullscreen();
            } else if (element.webkitRequestFullscreen) {
                element.webkitRequestFullScreen();
            }
        }
        // 退出全屏
        function exitFullscreen() {
            if (document.exitFullscreen) {
                document.exitFullscreen();
            } else if (document.msExitFullscreen) {
                document.msExitFullscreen();
            } else if (document.mozCancelFullScreen) {
                document.mozCancelFullScreen();
            } else if (document.webkitExitFullscreen) {
                document.webkitExitFullscreen();
            }
        }
        var btn = document.querySelector('#button');
        if (fullscreenEnabled) {
            btn.addEventListener('click', function () {
                var fullscreenElement =
                    document.fullscreenElement ||
                    document.mozFullScreenElement ||
                    document.webkitFullscreenElement;
                if (fullscreenElement) {
                    exitFullscreen();
                    btn.innerHTML = '全屏';
                } else {
                    launchFullscreen(document.documentElement);
                    btn.innerHTML = '退出全屏';
                }
            }, false);
        }
        // 监听全屏事件
        document.addEventListener('webkitfullscreenchange', function fullscreenChange() {
            if (document.fullscreenEnabled ||
                document.webkitIsFullScreen ||
                document.mozFullScreen ||
                document.msFullscreenElement) {
                console.log('enter fullscreen');
            } else {
                console.log('exit fullscreen');
            }
        }, false);
    </script>
</body>

</html>








    评论一下?

    OωO
    取消
      1. 头像
        逆着光疯狂
        第9楼
        找了很多个,试了都不行,要不都不行,要么就是只能全屏,但不能完美退出。就你这个厉害。
        回复
      1. 头像
        今日新闻
        第8楼
        文章不错支持一下吧
        回复
      1. 头像
        阿Q博客
        第7楼
        你这是一个分享代码的博客?文章不错支持一下吧,非常喜欢
        回复
      1. 头像
        阿Q博客
        第6楼
        你这是一个分享代码的博客?文章不错支持一下吧,非常喜欢
        回复
      1. 头像
        今日新闻
        第5楼
        文章不错支持一下吧,非常喜欢
        回复
        1. 头像
          SSR节点
          @今日新闻:来这里多学习~!
          回复
      1. 头像
        泸州鬼麻将
        第4楼
        学习了。
        回复
      1. 头像
        新闻
        地板
        文章不错非常喜欢
        回复
        1. 头像
          免费SSR节点
          @新闻:希望能学有所成。
          回复
        1. 头像
          免费节点
          @新闻:希望能学有所成。
          回复
      1. 头像
        情感口述
        板凳
        互通有无
        回复
        1. 头像
          跨境电商导航
          @情感口述:这个必须学习收藏,多谢了
          回复
      1. 头像
        博客大全
        沙发
        学无止境,加油!
        回复