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