多年来,我编写的以下代码一直用于从脚本启动 Firefox,然后在用户关闭它后执行一组操作。
/* Launch Firefox and then wait for the user to close it */
var Shell = WScript.CreateObject("Wscript.Shell");
Shell.Run("\"[Firefox Installation Folder]\\firefox.exe\" -profile \"[Firefox Profile Folder]\"", 1, true);
/* After Firefox closes, perform actions... */
Shell.Run命令末尾的“true”值以前可以等待 Firefox 关闭。从文档:
等待返回
可选的。一个布尔值,指示脚本是否应等待程序完成执行,然后再继续执行脚本中的下一条语句。如果设置为 true,脚本执行将暂停,直到程序完成,并且 Run 返回程序返回的任何错误代码。如果设置为 false(默认),则 Run 方法在启动程序后立即返回,自动返回 0(不被解释为错误代码)。
出于某种原因,从 Firefox 68.0 开始,这不再有效。Firefox 运行得很好,但上面的脚本片段继续运行,就好像用户已经关闭了 Firefox(即使他们没有关闭)。
是什么原因造成的,如何解决?
在用户关闭 Firefox 后,我需要运行几个命令,但在运行时不需要。如何才能做到这一点?