对于IE和FF使用JQuery或onbeforeunload

时间:2013-05-21 18:39:21

标签: javascript jquery flex4 onbeforeunload

我正在使用javascript在“index.template.html”文档中使用Flex4应用程序。我有一个问题是能够在Firefox上使用onbeforeunload。该应用程序在IE中完美运行,但完全相同的一个不适合FF。 (见下文)

<script type="text/javascript">
window.onbeforeunload=before;
window.onunload=after;

function before(evt)
{
   var flex=document.$(application)||window.$(application);
   flex.unloadMethod(); //custom method to log out the user
}

function after(evt)
{

}
</script>

从我发现的,FF似乎没有注册onbeforeunload事件,所以我发现使用的流行的东西是与JQuery绑定。因此,我删除了上面的代码并将其替换为以下代码,但是当用户尝试在IE和FF中离开页面时,它不会显示弹出窗口。任何似乎都在使用JQuery的人似乎都在做同样的事情,所以我不知道发生了什么。

<script type="text/javascript">
$(window).bind("beforeunload",function(event){
   return "This should create a pop-up";
});
</script>

最终在第一段代码中调用“flex.unloadMethod”会很好,但暂时我只是想让弹出窗口工作,所以我知道我在正确的轨道上。任何见解将不胜感激。

2 个答案:

答案 0 :(得分:30)

尝试:

<script>
    $(window).on('beforeunload', function(){
        return "This should create a pop-up";
    });
</script>

示例:http://jsfiddle.net/AeztA/3/

答案 1 :(得分:1)

想补充一点,我想你不能在firefox中使用空字符串。 它必须至少为空白,例如返回。

var text = 'Exit Message';

$(window).on('beforeunload', function(){
    return " " + text;
});