这可能是一个重复的问题,但有一件事我需要知道,我在其他任何问题中都找不到答案。
当浏览器的刷新或后退按钮被点击时,如何弹出警告框,但不是其他按钮,如主页等,它们将页面重定向到另一个页面?
我使用以下代码制作了一个警告框:
但是当我点击我的主页按钮时,它会加载到另一个页面,警告框仍然触发。我只需要浏览器的刷新和后退按钮才需要警告框。
现在我的问题是为什么它在我的浏览器中无法工作,但在jsfiddle.net上可以?有什么我错过的东西吗?需要进行配置等操作吗?谢谢。
JSFIDDLE链接:http://jsfiddle.net/bawvu7yy/4/
当浏览器的刷新或后退按钮被点击时,如何弹出警告框,但不是其他按钮,如主页等,它们将页面重定向到另一个页面?
我使用以下代码制作了一个警告框:
<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/