首页 > Web开发 > 详细

js_检测窗口弹出是否被禁止

时间:2020-03-09 18:52:17      阅读:53      评论:0      收藏:0      [点我收藏+]
  • window.open()方法会返回一个指向新窗口的索引。我们可以尝试使用该索引来调整新窗口的位置和大小。
var wroxWin=window.open("http://www.baidu.com","_blank","location=0,width=400,height=400,resizeable=1");
wroxWin.resizeTo(500,500);//窗口大小变为500x500
wroxWin.moveTo(500,500)//新窗口左上角移动到屏幕的(500,500)处
  • 调用close()方法还可以关闭新打开的窗口
wroxWin.close();
  • 大多数浏览器只允许通过用户点击的方式弹出窗口,例如以下代码的弹窗行为会被浏览器制止。
<body>
    <script>
        window.onload=()=>{
            tanChu();
            function tanChu(){
                var wroxWin=window.open("http://wwww.baidu.com","_blank");
            }
        }
    </script>
</body>

上面的代码实测在chrome、FF、Opera、Edge中均被拦截。

  • 弹出窗口屏蔽程序
    弹出窗口被屏蔽时考虑两种可能,一种是浏览器内置程序拦截,还有一种是浏览器插件拦截。
    • 当浏览器内置程序拦截时,window.open()会返回null。
    • 当浏览器插件拦截时,window.open()会报错。
  • 准确地判断弹窗是否被拦截
var blocked=false;
try{
    var worxWin=window.open("http://www.baidu.com","_blank");
    if(worxWin==null){
        blocked=true;
    }
}catch(ex){
    blocked=true;
}
if(blocked){
    alert("窗口被制止弹出");
}

js_检测窗口弹出是否被禁止

原文:https://www.cnblogs.com/Syinho/p/12383604.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!