2012-09-27 52 views
0

我想打開一個彈出窗口,當用戶離開標籤或關閉瀏覽器時,可用的選項與我是window.open,但與此,它要求彈出窗口阻止程序,如果它沒有啓用,我嘗試了一切可能的方式來忽略彈出窗口阻止程序,但徒勞無功,我試圖onunload,onbeforeunload,但它不起作用,我也嘗試使用模式對話框,之前的選項卡/瀏覽器,我用它onbeforeunload事件,但它顯示瀏覽器警報消息,我不想要,我的簡單要求是,我需要一個彈出窗口(如果可能)或模式對話框,關閉標籤/瀏覽器,但應該忽略彈出窗口阻止程序,我想用模態對話框中,我不需要擔心彈出窗口阻止程序,因爲這不會是新窗口,但我將如何處理它,而用戶關閉選項卡/瀏覽器。如果任何上述選項不可能,任何人都可以幫助我使用其他可能的備選或有用的文章。Window.Open without popup-blocker

Edited Question
我用下面的腳本,並與我可以打開鏈接點擊一個新的彈出窗口,沒有彈出窗口阻止它干擾

$('a[href=http://www.google.com]').click(function(){ 
    window.open(this.href); 
    return false; 
    }); 

那麼爲什麼它不可能關閉事件。

+0

可能重複從網站沒有彈出窗口阻止程序捕捉它](http:// stackoverflow。com/questions/12626051/opening-popup-from-website-without-popup-blocker-catching-it) – Quentin

+0

http://stackoverflow.com/questions/2587677/avoid-browser-pop-up-blockers/ 30555411 –

回答

3

你不能 - 因爲這是彈出式窗口攔截器所做的事情:它們阻止彈出窗口(即調用window.open或調用target="_blank"鏈接),除非它直接響應用戶鼠標操作。

瀏覽器窗口關閉時打開彈出窗口是21世紀初期「彈出式廣告」廣告的常用策略,它激怒了用戶,這就是爲什麼Firefox和IE6的彈出窗口阻止程序阻止它們,並且沒有辦法繞過它除非你要求用戶在你的網站上禁用他們的彈出式窗口攔截器(並且我認爲你會發現他們中的大多數人不知道該怎麼做)。

無論如何你想完成什麼?您希望用戶看到的這個彈出窗口的內容是什麼?你有什麼其他方法嘗試過?

+0

實際上,我希望在用戶離開網站時顯示廣告,我使用了onunload(用於彈出窗口)和onbeforeunload(用於模式對話框)事件,但顯示瀏覽器警報「您確定要從此站點導航,我可以使用模式對話框,你有什麼想法嗎? – Abbas

+0

檢查更新的問題 – Abbas

+2

你想做什麼是不可能的。用戶不希望廣告和瀏覽器阻止它們 - 它是無法繞過它的。 – Dai

0

previous question完全重複....

我會後我的答案在這裏,以及雖然...

彈出廣告攔截的目的是防止這種行爲。

我會建議使用模態窗口而不是實際的瀏覽器窗口。我不認爲這些被封鎖,因爲它們是在頁面內部打開的。

至於事件...你可以做這樣的事情......

window.onbeforeunload = function whatever() { 
     //Do code here for your modal to show up. 
} 

如果你只是想OT給予警告或東西,你可以做

window.onbeforeunload = function showWarning() { 
     returnString = 'Whatever you want your message to be....'; 
     return returnString; 
} 

通過返回的東西在onbeforeunload語句中,它會顯示一個確認框,其中包含您的消息。如果像點擊,按鍵,拖拽等用戶的直接作用是執行這將打開彈出窗口中的javascript代碼

+0

我試過onbeforeunload,我寫了$(「dialog」).show();在它裏面,但它從不顯示,它直接關閉窗口 – Abbas

+0

我經常在我的一個應用程序中使用onbeforeunload。你的網頁是干擾它?你想打開一個模式窗口或只顯示一個警告/確認窗口? – Cruril

+0

警報和確認框的作品,但模態對話框,你可以給我任何參考的工作應用 – Abbas

0

彈出窗口攔截器不會阻止彈出窗口的打開

[開幕彈出的