需要从命令行刷新单个ie7 web选项卡

时间:2009-12-09 19:51:11

标签: javascript html internet-explorer dos

我需要创建一个批处理文件,该文件将停止进程,然后刷新Internet Explorer 7中已定义的选项卡。只需要在选项卡刷新部分上有一些帮助/指针,或者如果它甚至可能......我不想要IE打开另一个选项卡,另一个浏览器不是一个选项,因为基于Web的程序只与IE兼容。有任何想法吗?我已经尝试了一个没有运气的VBS文件,看到它是如何基于Web的程序我无法将Java脚本添加到页面中...

4 个答案:

答案 0 :(得分: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()

答案 1 :(得分:0)

您可以构建网站框架,然后使用计时器上的javascript从外框刷新它。这可能适合您的需要,也可能不适合。

答案 2 :(得分: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()

的页面

答案 3 :(得分:0)

假设您也可以控制网页......

我很惊讶没有人提起这个陈旧的元刷新。

而不是做一些愚蠢的iframe / javascript魔术,或者一些疯狂的IE COM对象mambo,你可以随时写一个元刷新标签到你给定的一个查询字符串传递(或者所有的时间,我不知道你的是什么需要是)

同样,我不确定这是否符合您的需求,但它很快且非常干净。

把它放在你的,它会每60秒刷新一次页面:

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