「index.template.html」ドキュメントで、JavaScriptを使用して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"を呼び出すのはいいことですが、とりあえずポップアップを機能させようとしているだけなので、正しい方向に進んでいることがわかります。どんな洞察もいただければ幸いです。
試してください:
<script>
$(window).on('beforeunload', function(){
return "This should create a pop-up";
});
</script>
追加したいのですが、Firefoxでは空の文字列を使用できないことを理解しました。たとえば、返品の場合、少なくとも1つの空白である必要があります。
var text = 'Exit Message';
$(window).on('beforeunload', function(){
return " " + text;
});