2015-08-24 60 views
0

我有一個普通的javascript函數來打開彈出窗口。這適用於Chrome和Firefox。但在Safari中,由於彈出窗口阻止程序默認啓用,它既不打開頁面,也沒有錯誤通知(是否有可能獲得錯誤通知?) 這可以使用任何jquery方法完成,而不使用window.open()。 請有人幫我在這?jquery對話框在safari中打開popu窗口

var gomWin = window.open(popupURL, 'params'); 
+0

退房這個職位http://stackoverflow.com/questions/2914/how-can-i-detect如果瀏覽器正在阻止彈出窗口,它會給出有關如何檢測彈出窗口是否在Javascript中被阻止的示例。 – Jaco

+0

@jaco - 感謝您的回覆。這個解決方案在safari中似乎不起作用。它沒有提醒任何事情。 – user1049057

回答

1

有沒有jQuery的方法,我知道要做到這一點。

爲了測試調用window.open是否成功您應該測試返回值:

var gomWin = window.open(popupURL, 'params'); 
if (gomWin === null) 
    alert("Popup blocked!"); 
+0

Thansk的答覆。如果(gomWin === null)沒有提供任何警報。但是,如果(typeof gomWin =='undefined'){alert(「Popup blocked!」);}發出警報。但問題是即使彈出不被阻止,它也會發出警報。任何想法爲什麼發生? – user1049057

+0

這可能是與Safari相關的行爲。您可能想要測試返回的值有幾種不同的方式,如由Jaco建議的帖子中所示。 – POZ

相關問題