如何防止用户移动页面?

问题描述:

我知道这样的一些事情;如何防止用户移动页面?

<script> 
function out() { 
    alert('No, stay here.'); 
    //What to do?... 
} 
</script> 

<body onUnload="out()"> 
<input /> 
</body> 

我从其他社区

<script> 
function out() { 
    alert('No, stay here.'); 
    location.href='thisPage.html'; 
} 

一些响应但是,这将重新加载页面。我想阻止用户在不重新加载页面的情况下移动页面。谢谢

+0

这可能只是我,但我真的不喜欢试图让我没有违背我的意愿页和我经常(always_?)刚刚结束对执行此操作的公共场所的浏览器。我甚至有一对夫妇,我甚至已经阻止,甚至摆在首位。这就是说,在一个私人网站进行验证,这不是一个大问题。 – 2010-11-08 04:53:32

可以使用onbeforeunload事件和采取的步骤任何你想要:

window.onbeforeunload = function(){ 
    // whatever you want to do now 
}; 

通过这种方式,您可以将用户重定向到其他页面,如果他们尝试从当前页面移开或您想在其中执行任何操作。

尝试return false;,而不是location.href='thisPage.html';

而是没有返回,加

return false; 

到最后,应该工作

+0

我试过'返回false;'但它不起作用... – Deckard 2010-11-08 04:36:06

千万不要这样做:用户想离开这个页面是有原因的,所以不要强迫他/她留下来。更好的选择是在离开页面之前使用onbeforeunload来要求确认。

+0

啊因为这是一个连续的输入过程。所以用户不能离开页面,直到整个输入过程完成。 – Deckard 2010-11-08 04:37:40

:)

function out() { 
    alert('No, stay here.'); 
    return false; 
}