使window.open() 全兼容IE, Firefox, Chrome的最新写法

window.open() 可谓是 弹窗广告的利器, 不过因为浏览器的拦截机制越来越完善, 打开几率也越来越低了.

之前在百度上看到很多种写法,如: 

通过 js 去触发某按钮的click事件

通过 js 去触发某form的submit事件,并且form的target 设置为_blank

不过经过我的测试,发现都已经不再兼容了

于是想到了下面这个办法:

 

    <script>    
    var new_window = null;  
      
    //加一个确认,可以在这个方法里面执行很多适用于自己的判断...
    function sure_open() {  
        if (confirm('确定要打开php爱好者吗?'))  
            open_window(url);  
        else  
            new_window.close(); //关闭窗口
    }  
      
    function open_window(url) {    
        new_window.location.href = url;    
    }    
    </script>    
    <input type="button" οnclick="new_window = window.open(); open_window('http://www.phplover.cn')" value="打开php爱好者" />    


其中用到的原理就是

 通过用户真实的点击 触发window.open() 打开一个新窗口(因为是真实的用户行为,浏览器会认为是用户意愿,不会进行拦截)

然后再通过js去更改新窗口的 location

 

快来试试吧
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值