2013-10-14 96 views
-1

我正在創建一個腳本來生成彈出窗口。但大多數瀏覽器默認阻止彈出窗口。我想在我的域名上打開彈出窗口而不阻止彈出窗口。有沒有辦法在每個瀏覽器中啓用彈出

var pop = window.open('about:blank', 'new_window_123', 'height=150,width=150'); 

// Detect pop blocker 
setTimeout(function() { 
if(!pop || pop.closed || pop.closed == 'undefined' || pop == 'undefined' || parseInt(pop.innerWidth) == 0 || pop.document.documentElement.clientWidth != 150 || pop.document.documentElement.clientHeight != 150){ 
pop && pop.close(); 
alert('Popups must be enabled.'); 
}else{ 
alert('Popups is enabled.'); 
pop && pop.close(); 
}}, 1000); 

此腳本告訴我彈出啓用/禁用。有沒有辦法關閉瀏覽器彈出窗口攔截器,並運行彈出

+0

你可以告訴用戶啓用彈出窗口,如果這是你的網站不可或缺的東西,但你的問題的答案是否定的。 – Vinay

+0

大多數網站只顯示一條訊息,例如「看起來您正在使用彈出式窗口攔截器,請禁用此網站的攔截器以正常工作」或沿着這些線路。 –

+0

根據我的經驗,如果一個網站在一個頁面上發送超過4次的彈出窗口,大多數瀏覽器只會阻止彈出窗口。用戶可以重新啓用,如果他們發現他們需要它。 – bean5

回答

5

有沒有辦法通過JavaScript關閉彈出窗口攔截器。如果有的話,那麼所有做彈出窗口的腳本都會這樣做,彈出窗口阻止程序就沒用了。在大多數瀏覽器中,最終用戶可以爲當前網站提供彈出式窗口攔截器,但這是您必須指示最終用戶執行的操作,而不是您的頁面本身可以執行的操作。

某些彈出式窗口攔截器在直接響應用戶點擊(例如,從單擊處理程序中打開彈出式窗口)時將允許彈出窗口。

解決問題的方法之一就是停止使用彈出式窗口,而不是使用彈出式窗口攔截器阻止的覆蓋div在同一個窗口中浮動。

+0

好的,但我創建了一個JavaScript,其中我添加了一個循環來打開加載/ onclick多個窗口。第一個窗口在每個瀏覽器中不阻塞地打開,其他的都是阻止。是什麼原因。 – Burhan

+0

我想彈出新窗口就像farecompare.com – Burhan

+0

@Burhan - 打開多個彈出窗口被阻止,因爲瀏覽器和用戶認爲這是不受歡迎的行爲(我同意)。 – jfriend00

相關問題