是否有方法在显示警报弹出时将页面显示在后台?(保持显示)
在我的VB ASP.NET web应用程序中,我使用JavaScript警告()弹出一个警告。(见下面的代码)但是当警报弹出时,Chrome和FF网页会变为空白,直到用户点击OK,然后重新显示。(没有问题)
' Shows javascript alert_message at browser, because MsgBox doesn't work there.
Private Sub alert(ByVal alert_message As String)
Dim msg As String
msg = "<script language='javascript'>"
msg += "alert('" & POPUP_ALERT_TITLE & "\n\n" & alert_message & "');"
msg += "<" & "/script>"
Response.Write(msg)
End Sub在我的VISUAL 2013 ASP.NET网络应用程序中的示例用法.
Function sample_usage()
alert("INTERNAL ERROR 111.")
End Function发布于 2014-08-19 02:06:53
这个问题解决了:
Private Sub alert(ByVal alert_message As String)
Dim msg As String
msg = "<script language='javascript'>"
' The 100 ms delay prevents a blank page during alert, in Chrome and FireFox:
msg += "setTimeout(function(){alert('" & POPUP_ALERT_TITLE & "\n\n" & alert_message & "')}, 100);"
msg += "<" & "/script>"
Response.Write(msg)
End Sub发布于 2014-08-18 14:54:39
Javascript在单个线程上执行。警报框中断该线程,导致它挂起,直到用户关闭它。有关示例,请参见这个jsFiddle。
<div id="messages">
</div>
<script>
alert('test');
$('#messages').text( 'alert is done!' );
</script>可能发生的情况是,您有一些Javascript,用于重新加载页面的部分内容。IE是按照特定的顺序执行的,Chrome和Firefox的执行顺序略有不同(或者做得更快/更慢)。因此,在IE中,下面的页面已经完成(或未启动)加载/重新加载,而在Chrome和Firefox中,页面处于加载/重新加载的中间。
不幸的是,没有简单的解决办法.任何答案都需要稍微修改一下Javascript。我建议使用类似于blockUI的内容,然后在超时之后显示类似警报之类的内容(给Javascript的其他部分一个完成的机会)。
发布于 2016-05-16 13:27:43
你也可以这样写:
Response.write("<script type=""text/javascript"">setTimeout(function(){alert("" type your message here"")},100);</script>")https://stackoverflow.com/questions/25366038
复制相似问题