0

我正在使用以下代码,以便如果用户关闭浏览器按钮,它会显示一个确认框,无论是否留在页面上。

我想要做的是,如果有人关闭浏览器,它应该显示一个图像,带有“是”或“否”选项。单击“是”时应关闭浏览器,单击“否”时不应关闭浏览器。图像必须显示在同一窗口中,而不是任何弹出窗口中。是否有可能做到这一点,还是我对 JavaScript 期望过高?

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<script type="text/javascript">
var exit=true;
    function confirmExit()
            {
            if(exit)
            {
            window.location.href = "?p=exit";
            }
            if(exit)
            return "Wait! Don't Leave Empty Handed!\n\nThank you for taking the time to check out our offer! Before you go we have a complimentary crash to help you succeed. Click the 'Cancel' or 'Stay On This Page' button if you're interested!";
            }
</script>
</head>
<body  onbeforeunload="return confirmExit()">
</body>
</html>
4

2 回答 2

2

您无法更改onbeforeunload()默认行为,因为它是每个浏览器的原生行为。您只能返回自定义字符串。

于 2012-12-11T13:33:20.997 回答
1

这真的很烦人,我建议不要这样做。但是,如果您使用window.open. 不过,弹出窗口拦截器可能会阻止它。onbeforeunload在这种情况下,您可以从弹出的回调中返回一个字符串,但它是按浏览器处理的(即 Firefox 将打印自己的字符串,而不是您发回的字符串)。

我重申,除非客户正在做一些潜在的重要处理,否则我不会做任何事情来阻止某人关闭他们的浏览器或以其他方式离开。

于 2012-12-11T13:36:09.013 回答