0

我想要一个点击浏览器后退按钮的确认窗口。如果我按是,那么上一页将被加载,否则我将留在同一页面?

任何建议都非常感谢..但请走上正轨..我的问题很直接

提前谢谢..

4

3 回答 3

4

你为什么要这样做?

您可以使用 Javascript 阻止他们离开页面,但如果您不能使用它,则无法对其执行任何操作。

通常你应该在 body 中使用 unload 事件(例如,在 jQuery 中,只需添加

jQuery(window).unload(function(evt){
   if(!confirm('Do you really want to leave')){
      evt.preventDefault();
   }});

Prototype 有类似的东西,对于纯 Javascript,我猜它仍然取决于您使用的浏览器,但window.unload = function(evt){return false;} 可能会起作用。

虽然不记得它的正确语法。

但我不知道您是否可以仅将其限制在背面,或者它是否会触发所有卸载(例如单击链接、关闭浏览器等)

如果您想阻止它们,因为它们可能在表单中有未保存的数据,那没关系。如果您想阻止他们出于其他原因返回,我认为您应该重新考虑原因。

于 2009-05-26T14:12:33.870 回答
1

通常,如果使用后退按钮可能会导致问题,那么您已经遇到了更大的问题。

您可能想要做的是检查您是否执行以下操作:

  • 对所有更改数据的请求使用 POST
  • 使用 nonce(唯一 ID)确保表单不会被提交两次
于 2009-05-26T14:34:40.457 回答
0

出于这个原因,我使用noscript 。我坚持要控制我的浏览器而不是我正在访问的网站。我只允许某些网站的脚本。对于任何禁用我的后退按钮的网站,我不允许它运行脚本。

于 2011-02-12T09:53:50.447 回答