只需要一點點Javascript來警告那些按下後退按鈕的人,它可能會使用Ok/Cancel按鈕搞砸他們的交易,並且還會檢測他們是否使用任何版本的Firefox。如何在用戶嘗試按下後退按鈕或使用Firefox時添加警報? (Javascript)
回答
您可以使用類似http://www.sajithmr.me/warning-before-navigate-away-from-a-page/的東西,以檢查用戶是否即將離開該頁面。我不確定是否有專門針對後退按鈕的解決方案。
這個SO問題:Detecting Back Button/Hash Change in URL將回答你的大部分問題。
檢測後退按鈕是一項棘手的業務,因爲它與關閉窗口的行爲相同。
您可以使用onbeforeunload
事件處理程序來處理這個問題,但就像我說的那樣,這有點棘手。
至於你的瀏覽器檢測問題,我不太喜歡使用基於用戶代理的瀏覽器檢測,它更好地做功能測試onLoad。但是,如果您只是想查看是否有人正在使用(或稱他們正在使用)Firefox,則可以解析useragent字符串。下面是來自jQuery 1.3.2源代碼的一個例子:
var userAgent = navigator.userAgent.toLowerCase();
// Figure out what browser is being used
jQuery.browser = {
version: (userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [0,'0'])[1],
safari: /webkit/.test(userAgent),
opera: /opera/.test(userAgent),
msie: /msie/.test(userAgent) && !/opera/.test(userAgent),
mozilla: /mozilla/.test(userAgent) && !/(compatible|webkit)/.test(userAgent)
};
非常感謝! – NibblyPig 2009-11-11 09:26:50
破裂和UA嗅探都是一種巨大的代碼味道。
當用戶返回事務中的某個步驟時,正確編碼的Web應用程序不應該「搞砸」。如果是這樣,您可能會收集一系列併發問題,這會使您的網站不便使用。
UA嗅探非常麻煩,容易出現誤報和否定,並且如果在服務器端完成代理問題。你想檢測Firefox的原因是什麼?如果您嘗試解決某個特定的Firefox問題,那麼幾乎可以肯定的是,專注於該功能的更好方法,而不是嘗試檢測特定的瀏覽器。
- 1. 如何在按下後退按鈕時顯示警報消息?
- 2. JavaScript:如何在按下兩個按鈕後得到警報
- 3. AngularJS當用戶按下後退按鈕
- 4. 如何防止用戶在按下後退按鈕時退出應用程序
- 5. 如何在用戶點擊瀏覽器後退按鈕時顯示警報?
- 6. 後退按鈕使用JavaScript
- 7. 如何在用戶使用jQuery按下「後退」按鈕時收到事件
- 8. 後退按鈕上的jQuery或Javascript警報
- 9. 應用按後退按鈕當按下後退按鈕
- 10. 警報箱,CountDownTimer,後退按鈕崩潰
- 11. Javascript或PHP後退按鈕
- 12. 如果後退按鈕被按下,警報顯示和應用程序關閉
- 13. 當用戶按下後退按鈕時,應用程序崩潰
- 14. 使用警報箱禁用後退按鈕?
- 15. 如何在按下後退按鈕時重新加載片段
- 16. 如何在用戶點擊後退按鈕時加載項目?
- 17. Firefox後退按鈕和iframes
- 18. 如何在按下設備後退按鈕時使HybridWebView返回
- 19. 當按下「後退」按鈕時提示用戶
- 20. 當用戶按下後退按鈕時停止線程
- 21. Android:按下「後退」按鈕時提示用戶保存更改
- 22. 當警報框在屏幕上時,如何禁用後退按鈕
- 23. 當按下後退按鈕時完成活動(警報對話框)
- 24. 在2秒內按下下一個按鈕時發出警報
- 25. 使用Greasemonkey或Tampermonkey添加JavaScript按鈕?
- 26. 後退按鈕需要3次嘗試
- 27. 按「後退」按鈕時某些用戶控件不加載
- 28. 後退按鈕按下
- 29. 後退按鈕被按下
- 30. Android - 按下後退按鈕時如何退出活動?
這樣做,歡呼聲; D – NibblyPig 2009-11-11 09:23:52