如何在 JavaScript 中退出以编程方式创建的浏览器

How to Exit Programatically Created Browser in JScript

我有以下 JScript 打开 Internet Explorer,导航到当前用户的 Lync 响应组设置页面,然后单击其中一个复选框:

var ie = WSH.CreateObject('InternetExplorer.Application');
    url = "https://LyncServer.DOMAIN.co.uk/RgsClients/Tab.aspx",

ie.visible = true;
ie.Navigate(url);
while (ie.readyState != 4) WSH.Sleep(25);

ie.document.getElementById('ctl05_ctl00_ctl04_ctl00_ctl00_ctl01').click();

完成后,我希望脚本关闭浏览器 window。

我尝试了以下方法:

ie.exit()
ie.close()
ie.document.exit()
ie.document.close()    

但是出现这个错误:

Object doesn't support this property or method

TLDR:使用 ie.Quit().


这与 VBScript 与 JScript 无关。你所说的"the JavaScript close command"是DOM(不是JS)方法(不是"command") Window object。通常,DOM 是您使用在 内部 浏览器中运行的 JS 代码操作的东西,作为它显示的 HTML 的一部分。

这与 InternetExplorer 自动化对象无关。此方法描述的是 Internet Explorer 程序,而不是现在显示在其中的 HTML 页面。例如,它有一个 属性 来控制您是否处于 "Offline browsing" 模式。那不是 DOM.

的一部分

这个对象有很多其他的方法和属性,大部分都记录在我上面链接的 MSDN 页面中 - InternetExplorer object. Specifically, it implements the IWebBrowser2 interface which means it implements the IWebBrowser2::Quit method.

这显然与 WSH WScript.Quit(errorCode) 方法无关。他们的签名甚至不兼容。 WSH 方法 returns 一个(可选的)错误代码,IE 方法没有。