2012-12-11 55 views
0

的圖像我使用下面的代碼,這樣,如果用戶關閉瀏覽器按鈕,它顯示一個確認框,是否留在網頁或沒有。的Javascript onbeforeunload-顯示上的退出

我想要做的是,如果有人關閉它應該顯示的圖像瀏覽器,用「是」或「否」的選項。當單擊「是」時,應關閉瀏覽器,如果單擊「否」,則不應關閉瀏覽器。圖像必須顯示在同一個窗口中,而不是在任何彈出窗口中。是否有可能做到這一點,或者我期望JavaScript太多?

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

<script type="text/javascript"> 
var exit=true; 
    function confirmExit() 
      { 
      if(exit) 
      { 
      window.location.href = "?p=exit"; 
      } 
      if(exit) 
      return "Wait! Don't Leave Empty Handed!\n\nThank you for taking the time to check out our offer! Before you go we have a complimentary crash to help you succeed. Click the 'Cancel' or 'Stay On This Page' button if you're interested!"; 
      } 
</script> 
</head> 
<body onbeforeunload="return confirmExit()"> 
</body> 
</html> 
+3

AFAIK這是不可能的 – closure

+0

對於垃圾郵件發送者和廣告客戶來說,如果他們可以阻止你離開一個頁面並繼續向你顯示圖片,而你正在拼命點擊關閉按鈕,那麼這樣做會不會很好? – adeneo

+0

你無法做到這一點的原因正是爲了阻止你想要做的事情。 :) – epascarello

回答

2

,因爲它是原產於每個瀏覽器不能更改的onbeforeunload()默認行爲。您只能返回一個自定義字符串。

+0

是否有可能使用JQuery? – user580950

+0

jquery是JavaScript,所以它不可能 –

1

這真的很煩人,我會建議反對它。但是,如果使用window.open創建彈出窗口,則可以顯示任何您想要的內容。彈出式窗口攔截器可能會阻止這種情況。在這種情況下,您可以從彈出的onbeforeunload回調中返回一個字符串,但它是按照瀏覽器處理的(即,Firefox將打印自己的字符串,而不是您發回的字符串)。

我重申,除非客戶做一些潛在的重要的處理,我不會做任何事情,從關閉瀏覽器或其他導航離開阻止別人。