js 实现F11全屏预览功能

js不能实现自动全屏功能,只能通过用户事件触发(可以是鼠标事件,键盘事件等)。
否则出现以下错误:
在这里插入图片描述
不能自动进入全屏状态,这是浏览器的一种保护措施。

只能通过点击事件实现F11全屏(调用Fkey),方法如下:

  1. 第一种
    var flag=false;
    function Fkey(){
        if(!flag){
            var el = document.documentElement,
                rfs = el.requestFullScreen || el.webkitRequestFullScreen || el.mozRequestFullScreen || el.msRequestFullscreen;
            if(typeof rfs != "undefined" && rfs) {
                rfs.call(el);
                flag=true;
            }
            return;
        }else {
            var el= document,
                cfs = el.cancelFullScreen || el.webkitCancelFullScreen || el.mozCancelFullScreen || el.exitFullScreen;
            if (typeof cfs != "undefined" && cfs) {
                cfs.call(el);
                flag=false;
            }
            return;
        }
    }
  1. 第二种(和第一种差不多,第一种更简便)
   function Fkey() {
        if ((document.fullScreenElement !== undefined && document.fullScreenElement === null)
            || (document.msFullscreenElement !== undefined && document.msFullscreenElement === null)
            || (document.mozFullScreen !== undefined && !document.mozFullScreen)
            || (document.webkitIsFullScreen !== undefined && !document.webkitIsFullScreen)) {
            if (document.documentElement.requestFullScreen) {
                document.documentElement.requestFullScreen();
            } else if (document.documentElement.mozRequestFullScreen) {
                document.documentElement.mozRequestFullScreen();
            } else if (document.documentElement.webkitRequestFullScreen) {
                document.documentElement.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT);
            } else if (document.documentElement.msRequestFullscreen) {
                document.documentElement.msRequestFullscreen();
            }
        } else {
            if (document.cancelFullScreen) {
                document.cancelFullScreen();
            } else if (document.mozCancelFullScreen) {
                document.mozCancelFullScreen();
            } else if (document.webkitCancelFullScreen) {
                document.webkitCancelFullScreen();
            } else if (document.msExitFullscreen) {
                document.msExitFullscreen();
            }
        }
    }
  1. 第三种(根据window.open可以模拟出差不多的全屏页面)
    window.open没有办法实现F11的全屏效果,顶多就是像一个对话框全屏,只是不显示上面的窗口条目。
 window.open("notice.html","_blank",'width='+ (window.screen.availWidth-10)+',height='+(window.screen.availHeight-30)+ ',top=0,left=0,resizable=yes,status=yes,menubar=no,scrollbars=yes');

样式如下图所示:
在这里插入图片描述
有实现自动全屏的方法,请大佬留言指教一下。


版权声明:本文为qq_43155489原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。