VBScript变量未在document.write中显示

时间:2017-09-26 15:51:18

标签: vbscript hta

我正在编写一个HTA来做一些基本的事情,我需要的一件事就是显示免费的硬盘空间。我有这个部分用于VB脚本:

Dim FreeHDSpace
Dim test32
test32 = 56

Sub Window_onLoad
    Dim FreeHDSpace
    window.resizeTo 550,700
    Set objWMIService = GetObject("winmgmts:")
    Set objLogicalDisk = objWMIService.Get("Win32_LogicalDisk.DeviceID='c:'")
    FreeHDSpace = objLogicalDisk.FreeSpace
    FreeHDSpace = FreeHDSpace / 1024
    FreeHDSpace = FreeHDSpace / 1024
    FreeHDSpace = FreeHDSpace / 1024
    FreeHDSpace = Int(FreeHDSpace)
    FreeHDSpace = CStr(FreeHDSpace)
    msgBox(FreeHDSpace)
End Sub

我的HTML中的这一部分:

<p><font  face="tahoma" color="white" size="4">Hard drive space remaining:</font>
<script type="text/VBScript">
    document.write "<font size='4' face='Tahoma' color='white'>" & FreeHDSpace & " Gb</font>"
</script></P>

如果我在HTML中使用test32中的变量而不是FreeHDSpace,它会显示56.如您所见,我已经尝试将其更改为字符串并将其格式化为较小的数字。

我被严重困扰,任何建议都非常感激。

1 个答案:

答案 0 :(得分:1)

当处理<script>元素时,你读取变量然后窗口的加载事件触发,触发给变量赋值的函数(但为时已晚!)。 / p>

在为变量赋值之前,您不需要等待load事件。