我希望每当我从地址栏更改浏览器网址时。 我想从警告框中的地址栏中获取新地址,并要求用户想要继续,如果是,那么我必须允许新地址加载内容。
每当用户更改浏览器地址时,我应该使用哪个事件从地址栏中获取新地址。
答案 0 :(得分:1)
这是onbeforeunload
事件:
window.onbeforeunload = function() {
return "Really leave?";
};
浏览器将处理使用相关按钮显示消息,并保留在页面上(如果用户选择这样做)或保留(如果用户选择这样做)。
这很容易被滥用。其中少数用例之一是用户已经开始做某事(例如,在SO上编写答案)并尝试离开而不完成(发布答案)。所以通常你会有一个你先检查的标志:
var uncommittedChanges = false;
window.onbeforeunload = function() {
if (uncommittedChanges) {
return "You have uncommitted changes. Really leave and lose them?";
}
};
...当然,看到用户开始做某事的代码会设置标志,然后在用户提交更改时再次清除该标志。
重新评论:
它会在弹出框中显示新输入的地址
不,它不会。或者至少,我从未见过这样的浏览器。除了您的消息之外,还取决于浏览器显示的内容。