jQuery禁用所有重定向(链接,表单提交,window.location更改等)

use*_*146 11 jquery redirect hyperlink

是否可以使用javascript来禁用任何会使浏览器远离当前页面的代码?

我尝试了以下代码,但它没有用:

$(window).unload(function(e){
    event.stopPropagation();
    event.preventDefault();
    return false;
});
Run Code Online (Sandbox Code Playgroud)

我猜这个代码不起作用,因为在卸载()的时候,为时已晚.

还有其他想法吗?

可能的实现:1.禁用任何重定向的代码2.绑定到可以执行此操作的所有元素(链接,表单,我还缺少什么?)

Roc*_*mat 5

您可以在浏览器中弹出一条消息,询问用户是否要离开页面.这适用于强制浏览器离开当前页面的每个事件(甚至是表单提交和关闭浏览器).

测试页面:http://dl.dropbox.com/u/3937673/test.html

JavaScript的:

window.onbeforeunload = function(e){
  var e = e || window.event;
  // For IE and Firefox (prior to 4)
  if (e){
    e.returnValue = 'Do you want to leave this page?';
  }
  // For Safari and Chrome
  return "Do you want to leave this page?";
};
Run Code Online (Sandbox Code Playgroud)

或者使用jQuery:

$(window).bind('beforeunload', function(){
    return "Do you want to leave this page?";
});
Run Code Online (Sandbox Code Playgroud)