2010-04-26 48 views
0

可能重複:
How can I detect if a browser is blocking a popup?如何拋出一個警告說「請關閉彈出窗口阻止程序」

喜亞姆試圖打開與禁用的工具欄子窗口... ...

如何檢查子窗口是否打開,然後顯示此警報?

有人可以使用代碼幫助.........

+0

爲什麼不把你的信息放在正在瀏覽的頁面上,它屬於哪裏? – 2010-04-26 06:29:40

+0

@Carl:看歷史; OP幾次忽視了這個建議,似乎在實施每個人都討厭的可怕的用戶 - 敵對解決方案方面已經死氣沉沉。它甚至似乎是一個登錄表單,這使得用禁用瀏覽器瀏覽器打開的想法更加不合適。 – bobince 2010-04-26 09:31:33

+0

@bobince:是的,完全同意。我傾向於對SEO問題的敵意作出反應(「我怎樣才能在沒有被抓到的情況下對系統進行遊戲?」),這是對用戶願望的更加猥褻的侵犯。我希望這傢伙的公司肚子痛。 – 2010-04-26 11:58:40

回答

1

我想,如果彈出窗口被攔截,window.open()將返回null,而不是一個窗口對象。您可以在MSDN article閱讀:

如果你不知道的彈出窗口 是否被封鎖,請檢查您的 函數返回一個窗口對象。 如果彈出式窗口 被阻止,如果這些函數返回 null,則可以判斷它是否被阻止。特別是,當您的彈出窗口 被阻止時,您需要檢查 window.open的值以避免 腳本錯誤。

而且,這會給你一些提示有關檢測彈出窗口攔截器的:http://www.visitor-stats.com/articles/detect-popup-blocker.php

-1

你需要給我們您的使用,使我們能夠幫助的JavaScript。你將需要一個'如果'的聲明。

顯示警報這樣在javascript:

警報(「請關閉彈出窗口阻止程序」);

4

當您使用window.open()創建新窗口時,它會返回(理論上)打開窗口的句柄。然後,您可以測試手柄來確定窗口是否打開:

var child = window.open("mypopup.html"); 

// some popup blockers prevent the window from being created (!child) and 
// others just close them before they're displayed (child.closed) 

if (!child || child.closed) { 
    // tell the user to turn off their popup blocker 
} 

彈出窗口是非常侵擾,但是,你應該考慮嘗試顯示頁面中的「彈出式」的信息。尤其要看「對話」腳本。如果您使用的是jQuery,則jQuery UI庫中將包含非常好的Dialog widget

相關問題