关闭启动画面时出现类型不匹配错误

时间:2017-12-19 09:27:12

标签: vbscript type-mismatch

我正在使用this link中的代码在启动我的短文件文件时显示启动画面,该文件从服务器复制一些文件并需要15-20秒,以防止不耐烦的用户多次点击。我得到一个类型不匹配的VBScript错误报告,第1行,第1行,第1代。启动窗口正常加载,但是当它应该关闭时,错误出现并且启动停留在屏幕上(尽管其余的蝙蝠正常运行)

这是vbscript代码

<script language="VBScript">
    Sub Window_OnLoad
        ' Resize and position the window
        width = 500 : height = 400
        window.resizeTo width, height
        window.moveTo screen.availWidth\2 - width\2, screen.availHeight\2 - height\2

        ' Automatically close the windows after 5 seconds
        idTimer = window.setTimeout("vbscript:window.close", 15000)
    End Sub
</script>

我想这一行

idTimer = window.setTimeout("vbscript:window.close", 15000)

导致错误。

这只发生在某些计算机上,我没有真正发现它们的常见问题,它们运行的​​是Windows 7或8.我发现它可以对Internet Explorer updates做一些事情,但不确定是否适用这里没有使用数组(AFAIK)。

此网站上的

One of the answers建议在Set前设置idtimer。 - 不适合我

2 个答案:

答案 0 :(得分:1)

您可以查看以下链接 - 可能会提供一些见解。

http://www.vbforums.com/showthread.php?342508-How-to-window-close-Resolved

答案 1 :(得分:1)

我可以确认包含示例代码的简单测试HTA文件在Win7 x64上运行正常。

由于您的类型不匹配特指&#34; vbscript&#34;我认为超时调用的vbscript:部分是问题所在。单词vbscript按字面解释,冒号分隔下一个语句。也许某些VBScript运行时在全局级别没有名为vbscript的变量。

当我将字符串更改为&#34; window.close&#34;它工作得很好。试一试,看看是否有帮助。另外,当我将通话更改为明显错误时,例如&#34; abc:window.close&#34;然后我得到你描述的类型不匹配错误。

Type Mismatch

我认为只需要在HTML锚点HREF属性等中执行vbscript:javascript:前缀(尽管许多浏览器仍然优雅地允许它向后兼容)。