Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 需要从命令行刷新单个IE7Web选项卡_Javascript_Html_Internet Explorer_Dos - Fatal编程技术网

Javascript 需要从命令行刷新单个IE7Web选项卡

Javascript 需要从命令行刷新单个IE7Web选项卡,javascript,html,internet-explorer,dos,Javascript,Html,Internet Explorer,Dos,我需要创建一个批处理文件,该文件将停止进程,然后刷新internet explorer 7中定义的选项卡。只是需要一些关于选项卡刷新部分的帮助/指针,或者如果可能的话。。。我不想IE打开另一个选项卡,另一个浏览器不是一个选项,因为基于web的程序只与IE兼容。有什么想法吗?我曾经尝试过一个VBS文件,但运气不好,我发现它是一个基于web的程序,我无法将Java脚本添加到页面中…您可以对网站进行框架设置,然后在计时器上使用javascript从外部框架刷新它。这可能适合您的需要,也可能不适合您的需

我需要创建一个批处理文件,该文件将停止进程,然后刷新internet explorer 7中定义的选项卡。只是需要一些关于选项卡刷新部分的帮助/指针,或者如果可能的话。。。我不想IE打开另一个选项卡,另一个浏览器不是一个选项,因为基于web的程序只与IE兼容。有什么想法吗?我曾经尝试过一个VBS文件,但运气不好,我发现它是一个基于web的程序,我无法将Java脚本添加到页面中…

您可以对网站进行框架设置,然后在计时器上使用javascript从外部框架刷新它。这可能适合您的需要,也可能不适合您的需要。

这是可行的,但有点棘手,需要一个约束条件:您要刷新的选项卡必须由对
窗口的Javascript调用打开。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()

我知道您说过您尝试了VBScript,但它确实是最适合您尝试实现的解决方案。见“

参见代码:

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窗口的实例。不要使用
blnFound=True
尝试
objIE.Refresh2()

假设您也可以控制网页

我很惊讶没有人提起这个古老的元刷新

与其做一些愚蠢的iframe/javascript魔术,或者做一些疯狂的IE-COM对象mambo,您可以始终在给定的查询字符串中写入一个元刷新标记(或者一直以来,我不知道您需要什么)

再说一次,我不确定这是否适合你的需要,但它很快而且很干净

将此项放入您的中,它将每60秒刷新一次页面:

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


谢谢你的回答,但是它不适合我的需要。当批处理文件在随机时间运行时,刷新必须按需进行…刷新必须从html、vbs等文件或命令行按需进行…请详细说明:“我无法将Java脚本添加到页面…”。如果你不想在页面上进行定时(meta)刷新,这是你唯一的选择。