var where_to = confirm("You have locked this record. You can only leave by clicking cancel.");
if (where_to== true) {
alert(window.location);
window.location.href = window.location;
} else {
window.location.href = window.location;
}
此功能适用于IE 7和firefox以及opera 10.6。它的作用是不允许加载不同的页面,除非用户单击调用令牌功能的链接或按钮。
除非调用令牌函数,否则window.location.href将替换为当前url。
感谢您的时间。
答案 0 :(得分:2)
你的语法搞砸了。还有太多其他陈述。
这是问题所在:
} else {
//alert(tokenset);
alert('You have passed the token test');
}
修改强>
根据您的评论,听起来这就是您要做的事情:您希望能够阻止用户离开页面,除非他们通过单击取消来完成此操作。
在这种情况下,您应该使用onbeforeunload
事件。以下是IE page,此处是活动的Mozilla page。
这个想法是,每当用户试图离开页面时(即使只是关闭浏览器或在地址栏中键入其他地址),也会调用此函数。
功能有限。你只能返回一个字符串。浏览器使用它来提示用户如果他们点击取消,那么他们会留在页面上。他们可以点击确定并继续离开页面。虽然你只能返回一个字符串,但你不必这样做。您可以检查条件,并且只有在条件通过时才返回字符串。看看我的这个例子:
window.onbeforeunload = function () {
if (MyTokenIsNotSet) {
return 'You have not released the lock';
}
};
如果设置了令牌,则用户将看不到任何内容,他们将离开页面。否则,这将提示用户确保他们真的想离开页面。
需要注意的一些事项:
答案 1 :(得分:0)
你有两个else语句和一个额外的}
if (where_to== true)
{
alert(window.location);
window.location.href = window.location;
} else {
alert('You have passed the token test');
}
请用你的代码填写我们,你似乎错过了一些代码?
修改为您的修改:尝试删除提醒。有时警报可能会导致问题,因此可能会阻止您设置window.location.href