我正在使用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”会很好,但暂时我只是想让弹出窗口工作,所以我知道我在正确的轨道上。任何见解将不胜感激。
答案 0 :(得分:30)
尝试:
<script>
$(window).on('beforeunload', function(){
return "This should create a pop-up";
});
</script>
答案 1 :(得分:1)
想补充一点,我想你不能在firefox中使用空字符串。 它必须至少为空白,例如返回。
var text = 'Exit Message';
$(window).on('beforeunload', function(){
return " " + text;
});