前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hexo -21- iframe 增加全屏显示按钮

Hexo -21- iframe 增加全屏显示按钮

作者头像
为为为什么
发布2022-08-04 13:43:56
1.2K0
发布2022-08-04 13:43:56
举报
文章被收录于专栏:又见苍岚

在 Hexo 网页中经常会用到 iframe 模块插入想要显示的内容,由于主题限制,内容只能在博客内容区显示。本文记录为iframe 增加全屏按钮的方法。

方案思路

  • 确定 iframe 块的 id
  • 使用 JavaScript 控制该 id 的全屏行为
  • 设置按钮控制开关

解决方案

  • js 代码
代码语言:javascript
复制
<script>
	/**
     * 进入全屏
     * @param element
     */
    function requestFullScreen(element) {
        var requestMethod = element.requestFullScreen || element.webkitRequestFullScreen || element.mozRequestFullScreen || element.msRequestFullScreen;
        if (requestMethod) {
            requestMethod.call(element);
        } else if (typeof window.ActiveXObject !== "undefined") {
            var wscript = new ActiveXObject("WScript.Shell");
            if (wscript !== null) {
                wscript.SendKeys("{F11}");
            }
        }
    }


    /**
     * 退出全屏
     */
    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();
        }
    }
    
    document.getElementById('goAmpl').onclick = function () {
        let iframe = document.getElementById("iframe-one");
        requestFullScreen(iframe);
    }
    document.getElementById('outAmpl').onclick = function () {
        let iframe = document.getElementById("iframe-one");
        exitFullscreen(iframe);
    }

</script>

  • 此时 js 已经 ready,需要按钮控制以及 id 绑定
  • 示例代码(以node PPT为例)
代码语言:javascript
复制
<iframe id="iframe-one" name="iframe-one" src="/nodeppt/demo/index.html" width="100%" height="500" scrolling="no" frameborder="0"></iframe>
<button id="goAmpl">全屏显示</button>

显示效果

参考资料

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021年9月9日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 方案思路
  • 解决方案
  • 显示效果
  • 参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档