2009-12-09 74 views
0

我需要創建一個批處理文件,它將停止一個進程,然後在Internet Explorer 7中刷新一個已定義的選項卡。只需要一些幫助/指針在選項卡刷新部分或if甚至有可能......我不希望IE打開另一個標籤,另一個瀏覽器不是一個選項,因爲基於Web的程序只與IE兼容。有任何想法嗎?我已經嘗試過一個沒有運氣的VBS文件,並且看到它是如何基於Web的程序,我無法將Java腳本添加到頁面中...需要從命令行刷新一個ie7 web選項卡

+0

刷新必須是從任何一個HTML,VBS等文件或命令行需求... – Jay 2009-12-09 21:09:50

+0

請詳細說明這:「我無法將Java腳本添加到頁面中......」。如果您不想在頁面上定時(元)刷新,這是您唯一的度假勝地。 – BalusC 2009-12-09 21:21:16

回答

0

您可以構建網站,然後使用javascript在外框中進行刷新一個計時器。這可能會或可能不適合您的需求。

+0

感謝您的回答,但它不適合我的需求。當批處理文件隨機運行時,必須按需刷新... – Jay 2009-12-09 21:08:16

0

這是可行的,但它有點棘手,它需要一個約束:你想刷新的標籤必須已打開通過一個Javascript調用window.open,它必須有一個名稱。我們稱這個名字foo。然後,你需要簡單地加載另一個網頁在同一瀏覽器會話中執行下面的JavaScript:

window.open('http://other.site.url/etc', 'foo'); 

這意味着你需要都知道框架和目標URL的名稱。但這當然是可行的。

從批處理文件執行此操作需要一些腳本。在VBScript代碼將是這樣的:

Dim browser 
Set browser = CreateObject("SHDocVw.InternetExplorer") 
browser.visible = True 
browser.navigate("http://mysite.org/refresh.html") 

哪裏refresh.html是包含以上的JavaScript頁面,然後調用window.close()

1

我知道你說你試過VBScript中,但它確實是最適合您嘗試實現的解決方案。請參閱 「Hey, Scripting Guy! Blog: How Can I Tell if Any Internet Explorer Windows Are Open to a Particular Web Site?

看到代碼:

For i = 0 to objShellWindows.Count - 1 
    Set objIE = objShellWindows.Item(i) 
    strURL = objIE.LocationURL 
    If InStr(strURL, "http://www.microsoft.com/technet/scriptcenter")Then 
     blnFound = True 
    End If 
Next 

每次迭代返回一個打開的Internet Explorer窗口的WebBrowser Control的一個實例。而不是blnFound = True嘗試objIE.Refresh2()

0

假設你已經在網頁太...控制

我驚訝,沒有一個人提出了古老的元刷新。你可以隨時寫一個元刷新標籤到你的給定的某個querystring被傳遞(或者所有的時候,我不知道是什麼)。您的需求是)

再次,我不確定這是否適合您的需求,但它是快速和相當乾淨。

把這個在你的,它會刷新頁面每60秒一次:

<meta http-equiv="refresh" content="60">