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
快来试试吧