2013-04-17 55 views
3

我正在開發一個html頁面,其中我使用VBScript作爲腳本語言,即HTML頁面頭部分中的VBScript。我想在某些函數的執行中插入顯式等待。VBscript HTML應用程序中的等待函數

在Excel宏Application.wait waitTime偉大的作品,但在HTML頁面我無法實現我想要的。

有人可以請建議任何代碼片段,可以幫我插入一些等待說10秒?

回答

5

您可以使用setTimeout()來延遲執行代碼。把你所有的VBScript代碼到部分,可以說你把它mySub,然後調用setTimeout

<script type="text/vbscript"> 
    Sub mySub 
     'Your code goes here 
     MsgBox "Executed after delay" 
    End Sub 

    window.setTimeout "mySub()", 10000, "VBScript" 
</script> 

注意第二個參數是毫秒的延遲時間。

+1

也可以在爲了避免使用'window.setTimeout GetRef(「mySub」),10000'隱含的「eval」,但我不確定這兩種方式都有真正的好處。 –

1

另一種解決方案,這可能是更「自然地」使用,而只用秒粒度:

<script type="text/vbscript"> 
Set sh = CreateObject("WScript.Shell") 

Sub Sleep(seconds) 
    sh.Run "%COMSPEC% /c ping -n " & seconds+1 & " 127.0.0.1", 0, True 
End Sub 

... 
Sleep 10 
... 
</script>