只需要一点点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. JavaScript:如何在按下两个按钮后得到警报
- 2. AngularJS当用户按下后退按钮
- 3. 如何在用户点击浏览器后退按钮时显示警报?
- 4. 后退按钮使用JavaScript
- 5. 如何在用户使用jQuery按下“后退”按钮时收到事件
- 6. 后退按钮上的jQuery或Javascript警报
- 7. 应用按后退按钮当按下后退按钮
- 8. 警报箱,CountDownTimer,后退按钮崩溃
- 9. Javascript或PHP后退按钮
- 10. 当用户按下后退按钮时,应用程序崩溃
- 11. 使用警报箱禁用后退按钮?
- 12. 如何在用户点击后退按钮时加载项目?
- 13. 如何在按下设备后退按钮时使HybridWebView返回
- 14. 当按下“后退”按钮时提示用户
- 15. Android:按下“后退”按钮时提示用户保存更改
- 16. 当警报框在屏幕上时,如何禁用后退按钮
- 17. 当按下后退按钮时完成活动(警报对话框)
- 18. 后退按钮需要3次尝试
- 19. 按“后退”按钮时某些用户控件不加载
- 20. 按下后退按钮时传递BOOL
- 21. 正在按下后退按钮时缓存JavaScript文件
- 22. 导航后退按钮不显示,如何将后退按钮添加到UINavigationItem
- 23. 通过按下后退按钮在对话框上显示警报框
- 24. 如何在离开页面时警告用户,而不是在按下按钮时警告用户?
- 25. 使用Android按下后退按钮时的强制刷新
- 26. 如何在后退按钮上按下应用程序
- 27. 按下按钮时如何停止警报?
- 28. 如何添加后退按钮在测验应用程序?
- 29. 如何解决在Firefox中按下添加按钮时Devexpress ASpxUploadControl控件?
- 30. 后退按钮在javascript禁用问题
这样做,欢呼声; D – NibblyPig 2009-11-11 09:23:52