弹出窗口被拦截提示后给用户提示的JS

第一种JS写法:

现在的浏览器对弹出窗口的封杀已经是草木皆兵了.很多有用的弹出窗口都被封.
这个时候就需要给用户一个明确的提示,让用户知道发生了什么.
目前看到的网站只有gmail有这个提示.今天突发兴趣就研究了一下.
总结了下面这段测试代码.
 
function opentest() {
 var win = window.open(‘test.htm’,’test’,’toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=100,height=100′);
 if(win==null)
 {
  alert(‘您的浏览器阻止了一个弹出窗口!’);
 }
}

 
第二种JS写法:
如果浏览器将该弹出窗口实例拦截,window.open()返回的实例将为null,这时再对这个实例执行focus(),必然要抛出异常。这里也可以单纯来比较实例的值来判断,而不用异常。
function testpop(){
var mypop=window.open(“http://www.google.com.hk”,”_blank”,”z-look=yes,menubar=no,toolbar=no, location=no,resizable=yes ,directotries=no,status=no,width=800px,height=600px,scrollbars=no”);                try{           
       mypop.focus();//
     }catch(e){
        alert(‘blocked’);//显示任何你愿意让用户看到的信息
     }
}
ps:ie6.0,7.0,8.0测试通过。在firefox,google chrome设置了禁止弹出后,这个窗口照样弹出,不知为何

黑侠网络,免费分享互联网!
我的主页 黑侠网络 » 弹出窗口被拦截提示后给用户提示的JS