如何在用户尝试按下后退按钮或使用Firefox时添加警报? (Javascript)
只需要一点点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问题,那么几乎可以肯定的是,专注于该功能的更好方法,而不是尝试检测特定的浏览器。
这样做,欢呼声; D – NibblyPig 2009-11-11 09:23:52