2012-04-18 166 views
1

如果window.open()失敗,我想默認爲target=_blank如果window.open()被彈出窗口攔截器阻止,則回退?

例如,用戶點擊調用window.open()的鏈接。但是,彈出窗口被彈出窗口阻止程序阻止。在這種情況下,我想要打開一個新窗口。這可能嗎?

P.S.我有jQuery加載。

+0

這可能會幫助:HTTP:// stackoverflow.com/questions/668286/detect-blocked-popup-in-chrome或者這個:http://thecodeabode.blogspot.com/2010/11/window-open-popup-blocker-detect-for.html – 2012-04-18 18:38:58

回答

0

試試這個

假設這是你的使用jQuery的標籤

<a href="http://www.w3schools.com" id="myLink" target="_blank">Click me</a> 

然後,添加一個click事件處理程序是:

$("#myLink").click(function(e){ 
    if(!window.open("http://www.w3schools.com")){ 
     e.preventDefault(); 
    } 
}); 
+2

w3schools。 com ...呃! – 2012-04-18 19:37:32

+1

這不適用於Chrome。即使彈出窗口被阻止,Chrome也會從window.open中返回一個有效的Window對象。 – 2012-04-18 19:57:29

相關問題