在页面出现之前显示加载 gif

Display loading gif before the page appears

首先,就 VB 脚本而言,我是一个完全的初学者。 我只有一个用 VB 编写的 asp 文件启动一个批处理文件。 问题是我想要一些东西来表明页面正在像 gif 一样加载。批处理需要将近 10 分钟才能完成 运行,在完成之前我得到的是一个空白页。

这是我的全部代码

<%@ Language = VBScript %>
<HTML>
   <script runat="server" language=VBScript>
        ' The batch file is running here
        Dim myExecutor  
        Dim commandline

        commandline = "cmd.exe /c C:\test.bat "
        Set myExecutor = Server.CreateObject("WScript.Shell")
        myExecutor.Run commandline,0,true
        Set myExecutor = Nothing
        Response.Write "The batch run is finnished <p> "
   </script>
   <body>
       The batch is loading. <!--renders after batch is finnished :/ -->
   </body>
</HTML>

我尝试 运行 一个 onclick 事件 <asp:Button Text="Click here" OnClick="run_batch" runat="server"/> 但是当我使用 sender As Object, e As EventArgs 作为参数时给我一个 500 页的错误,可能是因为我没有 类并且只有 运行ns 一个 asp 文件中的所有内容。

谢谢。

问题是您的代码将在页面加载后立即执行。将您要执行的操作定义为 Sub 并在 onload 事件处理程序中调用它。一旦页面上的所有内容都加载完毕,该事件就会触发。

我在 hta 中测试了以下内容并且它有效。不确定它转换成 asp.

的效果如何
<HTML>
   <script language=VBScript>
        sub DoStuff()
            document.Write "<p>Doing stuff </p>"
            CreateObject("WScript.Shell").Run "ping localhost",0,true
            document.Write "<p>The batch run is finished <p> "
        end sub
   </script>

   <body onload="DoStuff()">
   </body>
</HTML>

或者对于按钮方法,只需使用

<button onclick="DoStuff()"> Do Stuff </button>