如何定期刷新网页?问:您好,脚本专家!如何定期刷新网页? -- TZ 答:您好,TZ。您知道,前几周对于脚本专家来说很难过,毕竟,我们确信我们中的一位将被任命为美国最高法院的下一任院长。(我们甚至购买了法官袍和一切必要的东西,不知道为什么 Peter 不让我们归还这些法官袍了。)然而,我们却不得不坐下来看 John Roberts 回答关于严格解释主义和法律判例适用性的问题。说得容易!我们倒想看看 John Roberts 怎么回答诸如“如何定期刷新网页?”这样的问题。 哦,对了:您也许是想看我们回答诸如“如何定期刷新网页?”这样的问题。好的: On Error Resume Next Set objExplorer = CreateObject("InternetExplorer.Application") objExplorer.Navigate "http://www.microsoft.com/technet/scriptcenter" objExplorer.Visible = 1 Wscript.Sleep 5000 Set objDoc = objExplorer.Document Do While True Wscript.Sleep 30000 objDoc.Location.Reload(True) If Err <> 0 Then Wscript.Quit End If Loop 这里巧妙地利用脚本来启动 Internet Explorer,然后让该脚本将命令传递给此浏览器。要实现此目的,首先添加 On Error Resume Next 语句(以后将进行详细介绍),然后创建一个 InternetExplorer.Application 对象实例。使用 Navigate 方法来打开所需的网页(嘿,真巧:竟然是“脚本中心”主页!),然后将 Visible 属性设置为 1。(这很重要吗?如果我们真想看到 Internet Explorer 实例,它确实很重要。) 接下来,使用 Wscript.Sleep 将脚本暂停 5 秒(5,000 毫秒)。这样做是为了确保在继续之前完全加载了 Internet Explorer;如果没有完全加载 Internet Explorer,那么下一行代码很可能会失败,这意味着我们的脚本很可能会失败。 顺便说一句,下一行代码将创建对 Internet Explorer 文档对象的对象引用。因为要刷新网页就不得不重新加载当前的 Internet Explorer 文档,所以必须这样做。这正是 Internet Explorer 对象模型的工作方式。 创建此对象引用之后,设置一个将会永远运行的 Do While 循环。(不用担心,要停止该脚本很容易。)在该循环内,调用 Sleep 方法并使脚本暂停 30 秒(这是因为我们决定每隔 30 秒刷新一次网页)。如果我们想每隔两分钟刷新一次网页怎么办呢?没问题,只要使用下面一行代码就可以了,它会使脚本暂停 120 秒(120,000 毫秒)。 Wscript.Sleep 120000 到 30 秒后,调用 Reload 方法来重新加载当前文档。向 Reload 传递一个参数 - True,它将通知 Internet Explorer 从 Web 服务器重新加载文档。如果没有此参数,Reload 就会从 Internet Explorer 缓存重新加载文档,这意味着我们将不能获得最新和最全的网页。 调用 Reload 方法之后,检查 Err 对象的值。如果发生了错误(并且导致该错误的主要原因是有人关闭了浏览器窗口),只要终止脚本即可。如果没有发生错误,则进入下一轮循环,等待 30 秒,然后全部重新启动。 是的,结束该脚本的简便方法就是:关闭浏览器窗口。执行该操作后,脚本会在 30 秒内终止。 到此您已得到了答案:用于定期刷新网页的脚本。我们希望看到最高法院的被任命者(或者说,一个有资格任职院长的法官)写出诸如此类的东西。 嗯,好吧:我们的意思是除了 Ruth Bader Ginsburg 以外的其他人。 |
|