作者:夏晶阳--艺术 | 2023-09-05 13:48
我正在编写一个应用程序,如果用户回击,它可能会重新发送相同的信息并弄乱数据的流和完整性.如何为有和没有javascript的用户禁用它?
1> Scott Hansel..:
遗憾的是,这是不可能的.但是,请考虑您的应用程序导航模型 您使用的是Post/Redirect/Get PRG Model吗?http://en.wikipedia.org/wiki/Post/Redirect/Get?
此模型比Postback模型更具有后退按钮友好性.
没什么可悲的.
有效点.我很伤心.;)
2> blowdart..:
你不应该.
您可以将一些脚本附加到页面的onbeforeunload事件,并与用户确认他们想要做什么; 你可以去一点,并试图以禁用它当然,这只会对谁启用JavaScript的用户的工作,但.而是考虑重写应用程序,这样您就不会在每个页面提交时提交事务,而只是在流程结束时提交.
3> Mike Tunnicl..:
我强烈建议你去英雄,以防止打破后退按钮,它是疏远你的用户的一种确定的火力方式,甚至在1999年Jacob Neilsen的十大网页设计错误中成为第一.
也许您可以考虑提出这样的问题:"如何避免打破<在此处插入您的场景>的后退按钮?"
如果斯科特的回答接近标记,请考虑将您的流程更改为PRG模型.如果它是其他的东西,那么请提供更多细节,看看我们如何提供帮助.
他没有说他想"打破"后退按钮.他希望避免现代Ajax设计模式失败的常见陷阱,因为用户按下"返回"意味着"撤消我刚刚使用您的Ajax应用程序执行的操作",而是获得"返回一个任意且不明确的HTTP请求".
4> Yossi Shasho..:
我想出了一个使用JavaScript禁用后退按钮的小黑客.我在chrome 10,firefox 3.6和IE9上检查了它:
Untitled Page
Try to hit back!