JS 对指定iframe 全屏操作

时间:2022-04-27
本文章向大家介绍JS 对指定iframe 全屏操作,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

最近在搞页面全屏踩到一个坑 。。

首先要知道如果直接在iframe 页面调用requestFullScreen()是没有效果的,需要在当前iframe 的parent 页面调用,其实iframe的 DIV 也是这个原因。具体代码实现如下

function fullScreen(iframeId) {
    /* 获取父类的document */
    var parentDoc = parent.document;
    /* 定义一个接收元素的变量 */
    var thisIframe = null;
    $("iframe", parentDoc).each(function (index, e) {
        if(e.id == iframeId){
             thisIframe = e;
        }
    });

    requestFullScreen(thisIframe);
}

/**
* 调用全屏方法
*/
var requestFullScreen = function (element) {
    if (window.ActiveXObject) {
        var WsShell = new ActiveXObject('WScript.Shell')
        WsShell.SendKeys('{F11}');
    }
    //HTML W3C 提议
    else if (element.requestFullScreen) {
        element.requestFullScreen();
    }
    //IE11
    else if (element.msRequestFullscreen) {
        element.msRequestFullscreen();
    }
    // Webkit (works in Safari5.1 and Chrome 15)
    else if (element.webkitRequestFullScreen) {
        element.webkitRequestFullScreen();
    }
    // Firefox (works in nightly)
    else if (element.mozRequestFullScreen) {
        element.mozRequestFullScreen();
    }
}