Javascript onbeforeunload-无法更改页面UI

Javascript onbeforeunload-无法更改页面UI,javascript,onbeforeunload,Javascript,Onbeforeunload,在myonbeforeunload函数中,我们将自动断开ActiveX控件与服务器的连接。 这个过程大约需要3或4秒钟(我们对此没有控制权),因此我想显示一条消息,让用户知道一旦控件断开连接,他们的刷新/导航离开/关闭窗口就会发生。我不想弹出警报(),只想向用户显示一条“异步”消息 但是,我似乎无法从onbeforeunload中对页面的UI进行任何更改。我不能使用我拥有的toast message类,甚至不能更改“status”div,因为它们似乎什么都没做 这是onbeforeuload功能

在my
onbeforeunload
函数中,我们将自动断开ActiveX控件与服务器的连接。
这个过程大约需要3或4秒钟(我们对此没有控制权),因此我想显示一条消息,让用户知道一旦控件断开连接,他们的刷新/导航离开/关闭窗口就会发生。我不想弹出
警报()
,只想向用户显示一条“异步”消息

但是,我似乎无法从
onbeforeunload
中对页面的UI进行任何更改。我不能使用我拥有的toast message类,甚至不能更改“status”
div
,因为它们似乎什么都没做

这是
onbeforeuload
功能的限制吗?是我使用
警报()
的唯一选项吗

编辑
代码示例:

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();
}

这是
onbeforeuload
功能的一个限制

老实说,这种方法是有缺陷的,您应该考虑将应用程序更改为不需要在卸载前启用
功能


如果需要断开服务器上的连接,可以通过长轮询或web套接字检测用户断开连接。我敢肯定ActiveX也是如此。

代码示例会有帮助。唯一的问题是我们无法控制ActiveX,也无法控制“服务器”如何与之交互。ActiveX正在从服务器获取流。如果ActiveX在未调用disconnect的情况下关闭,服务器仍会认为它已连接(虽然它会在90秒后超时,但时间太长)。看来我必须使用
alert()