0

私のonbeforeunload機能では、ActiveXコントロールをサーバーから自動的に切断しています。
このプロセスには約3〜4秒かかります(これを制御することはできません)。そのため、コントロールが切断されるとすぐに更新/ナビゲート/閉じるウィンドウが発生することをユーザーに通知するメッセージを表示したいと思います。alert()ポップアップを作成せず、「非同期」メッセージをユーザーに表示したいだけです。

ただし、内からページのUIに変更を加えることができないようですonbeforeunload。自分が持っているトーストメッセージクラスを使用したり、「ステータス」を変更したりするdivことはできません。何もしていないようです。

onbeforeunloadこれは機能の制限ですか?使用する唯一のオプションはありalert()ますか?


コード例 の編集:

function handleWindowOnBeforeUnload() {
    //alert('Disconnecting from client...');    //Would rather not use an alert()
    ShowToast('Closing connection...');         //Doesn't show
    $('#statusDiv').html('Auto-disconnect...'); //Neither does this
    //This is what takes ~4 seconds
    acx.stopConnection();
}
4

1 に答える 1

1

これはonbeforeunload機能の制限です。

正直なところ、このアプローチには欠陥があり、onbeforeunload関数を必要としないようにアプリを変更することを検討する必要があります。

サーバー上の何かを切断する必要がある場合は、長いポーリングまたはWebソケットによって切断しているユーザーを検出できます。これはActiveXでも同じだと確信しています。

于 2013-02-13T17:36:53.740 に答える