我最近遇到关于onbeforeunload的问题,当用户尝试关闭其IE浏览器时,我需要弹出一个投票页面。

<body onbeforeunload="makevote()">


而javascript中makevote()的主要结构如下:

function makevote()
{
    comet.distruct();
    if(csid != null && isvote == null)
    {
        window.event.returnValue = false
        window.event.returnValue='press “cancel” to vote please!'
        showComDiv(popvote,"popiframe",400,120,'your vote here','dovote()');
    }

}


在过去的三个月中,该投票功能的执行效果非常糟糕,以至于我从4,50,000位访问者中仅获得不到8,000票。我认为问题是,当用户尝试关闭其浏览器时,onbeforeunload属性会弹出确认消息当大多数用户单击“确定”按钮时,覆盖我投票框的框是一种习惯。这意味着关闭确认框是一种习惯。因此,我的问题是如何控制onbeforeunload我自己制作的确认框?例如,如果我单击“确定”,我将转到投票框而不是关闭IE。到目前为止,我只能定义显示的消息。还有其他更好的方法吗?帮助将不胜感激!

问候

最佳答案

很简单,您不能。

这是内置行为,旨在仅出于安全目的仅允许进行很小的更改。每个浏览器都一样; FF,Chrome等,都将以相同的方式运行。

beforeunload的主要目的是为了让用户可以选择在丢失更改之前保存更改。

此外,如果您的用户要离开,那就已经太迟了-他们不想再回答调查了,他们就完成了!

关于javascript - 如何在IE中控制onbeforeunload的操作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2512991/

10-12 12:38