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');

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值