弹出窗口被拦截提示后给用户提示的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设置了禁止弹出后,这个窗口照样弹出,不知为何

除非特别注明,本站所有文字均为原创文章,作者:jack