2015-11-12 102 views
0

在jquery/Javascript有沒有辦法來檢測瀏覽器(在我的情況下鉻)阻止彈出時,我的網站加載? 如果這是不可能的,那麼我的window.open命令之前的警報也會令人滿意。檢測如果瀏覽器阻止彈出窗口

我知道這個問題之前已經被問過,但問題已經過時了,我找不到解決方案。

謝謝。

+0

它是安全的假設,現代的瀏覽器將不允許'window.open()比一個互動的事件處理程序之外的任何情況下'調用。 – Pointy

+3

'w = window.open(...);如果(w == null){alert('打開失敗'); }' –

回答

1

你可以嘗試打開該更新PHP會話變量爲「true」,如果它被打開,如果沒有一個不可見的彈出式窗口,離開它「假」,例如:

一旦用戶打開你的site:session_start()並將會話變量「$ _SESSION [」popupEnabled「]」設置爲FALSE。在網站發送給用戶瀏覽器後,執行一個JS腳本,它只需要兩行代碼就可以將AJAX請求加載到另一個PHP腳本中:session_start();和「$ _SESSION [」popupEnabled「]」爲TRUE。

現在可以檢查系統範圍:

If($_SESSION["popupEnabled"] == FALSE) 
{ 
echo 'popups NOT allowed'; 
} 
else 
{ 
echo 'popups allowed'; 
} 
+0

不能看到他使用php的任何地方 – DaCh

+0

完全可以使用js ajax請求完成,只有ajax請求的文件必須包含使用此解決方案的php –

+0

我沒有使用PHP,但我可以使用您的建議。只有一個問題,我如何用window.open打開一個不可見的頁面? – Wolf

相關問題