2015-07-09 75 views
0
弹出式窗口拦截

我的目标是在两个选项卡打开两个网址,只需点击一下与单个链接。开放两个网址与点击,同时避免在Chrome

到目前为止,我已经尝试了两个JavaScript代码和jQuery代码(在这个论坛上attemps开3个网址找到)。

看来,Internet Explorer和Mozilla在其默认设置允许这种情况发生。在Chrome中,我得到弹出式窗口拦截器。我知道这只是为了让多个链接打开而允许弹出窗口在Chrome中发生,但对于我尝试构建的体验来说,让所有浏览器都提供相同的体验将是一个巨大的优势用户体验:一次点击,两个标签中打开两个URL。

有任何解决方法,截至目前,你可能知道,避免让Chrome中的弹出窗口阻止程序?

下面有两个的JavaScript代码和jQuery的一个,我一直在测试。所有这些在Chrome触发中都有相同的效果,并在Internet Explorer和Mozilla中成功。

我提前感谢你。

JAVASCRIPT

<a href="#" target="_blank" onclick="window.open('http://google.com'); 
    window.open('http://yahoo.com');" >Click to open Google and Yahoo</a> 




<a href="http://bloggersentral.blogspot.com/" target="_blank" 
     onclick="window.open(&quot;http://www.tourism.gov.my/&quot;); 
     window.open(&quot;http://www.tic.kelantan.gov.my/&quot;);">This anchor opens three links in a single click</a> 

JQUERY

<body> 
    <a href="" class="each">Click</a> 
    <script> 
    $('.each').click(function() { 
     var urlList = "http://www.google.com,http://www.yahoo.com" 
$.each(urlList.split(","), function(index, item) { 
window.open(item, "_blank") 
}); 
     }) 


    </script> 
    </body> 
+0

为什么要打开一个点击两个标签? – Phil

+0

我不想破解任何人的浏览器,我只需要核心URL就可以同时打开。如果这被认为是一种更好的做法,我可能会看起来如何在一个窗口中打开两个URL。你怎么看? –

+0

我认为这种技巧违背了书中的每一条规则。考虑制作一个供用户点击的相关链接列表,而不是强制用户一次打开它们。 – Phil

回答

1

用户必须手动允许弹出窗口,否则这将意味着,有可能是一大堆垃圾网站。所以没有

而且这里是它

<a href="http://www.microsoft.com" target="_blank" onclick="window.open('http://www.google.com'); window.open('http://www.yahoo.com');">Click Here</a> 

一个非常简单的HTML代码,你可以要求用户将其禁用:How do I detect popup blocker in Chrome?

0

我想,以防止弹出式窗口拦截拦截弹出窗口是唯一的出路用户说“允许弹出此页面”。否则,这将是一个安全问题。

0

如果有一个简单的解决方法,以弹出式窗口拦截比它不会阻断弹出窗口做了很好的工作,不是吗?在这种情况下,最好的解决方案是将链接分成两个单独的点击,或者通知用户,如果他们启用了弹出式窗口拦截器,他们可能必须手动允许打开选项卡。所以简而言之。不,你不能,但有很多更好的方法来解决这个问题。