在VBScript中,有没有办法判断IE是否正忙于加载某些内容(例如页面或XHR)?

时间:2010-08-06 04:37:34

标签: windows internet-explorer vbscript internet-explorer-7 hta

我正在编写一个全屏运行的HTML应用程序(HTA),允许用户浏览所选网站的列表。我注意到,有时当您点击链接加载外部网站时,没有反馈给用户浏览器已接受请求并已开始尝试加载页面。

在Internet Explorer中,您会在活动选项卡中获得一个旋转小图标,并在通知区域中显示一个进度条,以指示浏览器正在加载某些内容。我想在HTA中包含此功能。

我尝试过的事情:

网站列表显示在屏幕顶部的菜单中,用户正在浏览的网站显示在该网站下方的iframe中。我尝试使用Internet Explorer的onreadystatechange事件来检测iframe的位置何时发生变化,但我注意到,只要点击链接,readyState就不会更改为"loading" - 它似乎仅在从服务器收到响应后才触发。因此,如果服务器需要5秒钟来响应某些内容,那么HTA似乎在那里无所事事5秒钟。

有什么想法吗?感谢您花时间阅读并回复=)

亲切的问候

-Iain

2 个答案:

答案 0 :(得分:2)

我建议你使用ReadyState而不是'忙'

do until ie.readyState = 4 : wscript.sleep 10 : loop

答案 1 :(得分:0)

也许:

While oIE.Busy
   WScript.Sleep 100
Wend