2009-09-19 28 views
0

我們目前有一個JS,當訪客想離開該網站時,它彈出一個窗口。它工作正常,除了在瀏覽器上點擊後退按鈕時,即使我們在網站上,也會彈出警報。 我們想解決這個問題。window.onbeforeunload錯誤

請注意: - 我們不想禁用後退按鈕 - 我們不希望刪除的講史

的JS功能onbeforeunload。 當前用戶每次想要離開該網站時都會加載它。當用戶瀏覽網站時,在我們不想觸發彈出窗口的每個鏈接上,我們添加如下內容:onClick =「changes = true;」到href。

正如我所提到的,問題是當用戶點擊按鈕,FWD和有時刷新。

這裏是網站的url link text

+3

請不要這樣做,顯示彈出窗口訪客離開您的網站是不是一個好習慣。還彈出阻止程序阻止這些窗口。 – 2009-09-19 10:08:44

+1

這不是一個彈出窗口,它是onbeforeunload提示符。這仍然是一個非常糟糕的主意。 – stefanw 2009-09-19 10:16:15

回答

10

取出onbeforeunload-事件完全。不要欺負你的訪客!如果他們想離開你的網站,你不應該試圖讓他們留在那裏,這很煩人。

使用onbeforeunload事件的唯一正當理由是用戶在網站上更改了某些內容並嘗試從該網站導航而未保存更改。

1

+1 stefanw說的。不要這樣做。每個人都會指出並嘲笑你的網站。

在關閉窗口的某人和使用後退/轉發/刷新按鈕或書籤的用戶之間,或者只是輸入新地址時,您無法分辨出這種差異。

要做到這一點,唯一的方法是有另一個(例如彈出)窗口來監視其他窗口來檢查URL。如果window.closed,或者由於同源限制而無法訪問URL,則用戶已離開您的網站,然後您可以彈出一些嘮叨他們的東西。

尤其不要這樣做。每個人都喜歡彈出窗口,並會關閉它們。每個人都討厭嘮叨。彈出窗口和嘮叨一起是沒有更多網站訪問者的食譜。

還有,我剛剛看過你的網站是什麼。繼續彈出窗口。或者爲什麼不只是刪除你的網站,找到一些真正有用的事情,而不是把自己與網絡上最糟糕的垃圾郵件發送者聯繫起來?