代码之家  ›  专栏  ›  技术社区  ›  Mike

从.bat文件/命令刷新firefox

  •  3
  • Mike  · 技术社区  · 14 年前

    每次调用BAT文件时,我都试图刷新Firefox。我不想延期。我需要知道在.bat文件中是否有可以用来重新加载当前浏览器或选项卡的命令。

    我知道你可以用 start firefox 作为命令,但这只会打开一个新的firefox实例。我需要刷新当前实例。

    2 回复  |  直到 11 年前
        1
  •  6
  •   indiv Olivier Poulin    14 年前

    我只是在胡闹,想出了一个半有效的解决方案,可能会有点帮助。创建一个名为 refresh.vbs 并将其粘贴到:

    Set WshShell = WScript.CreateObject("WScript.Shell") 
    WshShell.AppActivate("Google Chrome")
    WScript.Sleep 500
    WshShell.SendKeys "{TAB}" 
    WScript.Sleep 100
    WshShell.SendKeys "{F5}" 
    

    我只能用铬来测试它。脚本激活chrome,发送一个 标签 ,然后发送 F5 刷新。当我让chrome-up显示一个网页时,它会工作,但当有多个网页选项卡打开时,它不会工作(因为 AppActivate 激活窗口,但不将焦点放在任何东西上)。

    也许它在火狐上更有效。可能有某种方法可以枚举浏览器中的选项卡并在vbs中激活它,但我不知道。

    如果在vbs中生成浏览器(请参见 WshShell.Run 以及 SendKeys 文档),您可以获取进程号并直接向该窗口发送消息,而不是依赖于应用程序标题。

    如果需要,可以从批处理文件中调用.vbs:

    @echo off
    refresh.vbs
    
        2
  •  0
  •   Vijay Pratap Singh    11 年前
    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