2010-11-12 53 views
3

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

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

+0

为Linux这里类似的解决方案:http://stackoverflow.com/questions/5203419/can-i -force-a-firefox-page-refresh-from-linux-console/7187363#7187363 – Ken 2011-08-25 10:15:25

回答

6

我只是搞乱了,想出了这个半工作的解决方案,可能会有所帮助。创建一个名为文件的东西像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测试。该脚本激活Chrome,发送一个选项卡,然后发送F5进行刷新。当Chrome浏览器显示一个网页时,它不起作用,但当有多个网页打开时(因为AppActivate激活了窗口,但不关注任何内容)不起作用。

也许它适用于Firefox。可能有某种方法可以枚举浏览器中的选项卡并在vbs中激活它,但我不知道它。

如果您产卵VBS内的浏览器(见WshShell.RunSendKeys文档中的例子),你可以得到的进程号,并直接将邮件发送到窗口,而不是依赖于应用的标题。

您可以从一个批处理文件中调用该.vbs,如果你需要:

@echo off 
refresh.vbs 
+1

只是为了确认它也适用于Firefox 4。只需将“Google Chrome”替换为“Firefox”即可。谢谢! – Klikerko 2011-06-10 17:47:55

0
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