2010-11-12 81 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