【发布时间】:2015-01-12 03:09:57
【问题描述】:
这可能是一个重复的问题,但我需要知道一件事,但我无法在任何其他问题上找到它。
当点击浏览器的刷新后退按钮而不是任何其他按钮(如主页等)将页面重新触发到另一个页面时,如何弹出警告框?
我能够使用此代码制作一个警报框:
<script type="text/javascript">
window.onbeforeunload = function() {
return 'If you resubmit this page, progress will be lost.';
};
</script>
但是当我点击我的主页按钮时,将页面加载到另一个页面,警报框仍然触发。我只需要浏览器的刷新和返回按钮的警报框。
非常感谢任何帮助。提前致谢。 :)
更新
这是适用于 jsfiddle.net 但不适用于我的浏览器的代码。
<html>
<head>
<script>
var btn = document.getElementById('homepage'),
clicked = false;
btn.addEventListener('click', function () {
clicked = true;
});
window.onbeforeunload = function () {
if(!clicked) {
return 'If you resubmit this page, progress will be lost.';
}
};
</script>
</head>
<body>
<form method="post" action="something.php" name="myForm">
<input type="submit" name="homepage" value="Please Work" id="homepage" href="something.php">
</form>
</body>
</html>
现在我的问题是它不能在我的浏览器中运行但与 jsfiddle.net 一起使用的原因是什么?有什么我错过的吗?要配置的东西,等等?谢谢。
JSFIDDLE 链接: http://jsfiddle.net/bawvu7yy/4/
【问题讨论】:
-
这是不可能的,因为为了判断他们是在刷新、返回还是去其他地方,你需要知道他们试图去的 url,这是不可能stackoverflow.com/questions/1686687/…
-
@user4035
return在window的onbeforeunload事件内传递String时显示一个弹出窗口。参考:MDN window.onbeforeunload -
@PatrickRoberts 谢谢,我不知道。
标签: javascript html