我想从命令行退出Firefox,而无需“强制”退出。我只想引起与在Firefox中单击“退出”相同的原因。
似乎我需要基于以下方式以某种方式调用“ goQuitApplication”。
我尝试制作一个xul文件并运行该文件,但出现错误。我尝试从此Mozillazine帖子中运行文件,但是Firefox在控制台中说“ TypeError:Components.classes未定义”。
以下是该xul文件的代码:
Remote XUL Manager by Jorge Villalobos
https://addons.mozilla.org/firefox/addon/235281/
Domains with remote XUL permission: <Local files>
Loads the specified chrome:
firefox -chrome example.xul
-->
<window onload="load()"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/javascript">
<![CDATA[
function load() {
var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"].
getService(Components.interfaces.nsIWindowMediator);
var win = wm.getMostRecentWindow("navigator:browser");
win.setTimeout("goQuitApplication()", 250);
window.close();
}
]]>
</script>
</window>
我试过简单地在加载函数中调用“ goQuitApplication”(如果在浏览器控制台中调用,这似乎可以工作),但随后出现错误“ ReferenceError:未定义goQuitApplication”。
有谁知道从命令行退出Firefox而不用强行杀死进程或关闭单个窗口的好方法吗?
昨天我实际上遇到了这个问题。我一直在寻找答案。如果您仅打开一个窗口(一个简单的taskkill行,没有/ f以便浏览器可以干净地关闭),那没什么大不了的,但是一旦您拥有两个或更多窗口,它就会变得更加复杂,因为taskkill命令只会一次拍摄一个窗口(除非最后一个关闭窗口,否则有效地松开窗口的选项卡)。
我最终编写了cmd / vbs脚本组合以干净地关闭Firefox。脚本将检测是否打开并关闭了“主密码”提示(避免提示干扰FFQuit脚本),然后FFQuit脚本将激活FF并发送Alt-F按键打开文件菜单,并发送X退出firefox。
在那里,您可以快速而干净地退出,重新启动后所有窗口都将返回。也可以选择重新启动FF(只是相关部分未介绍):
第1部分:封装的cmd脚本:quitFF.cmd
set FFexec=%programfiles(x86)%\Mozilla Firefox\firefox.exe set ERRORLEVEL= :: Check if that annoying Master Password prompt is open and close it tasklist /FI "WINDOWTITLE eq Password Required" 2>NUL | find /I /N firefox.exe">NUL IF "%ERRORLEVEL%"=="0" MPWDclose.vbs FFQuit.vbs ::Optional Restart Firefox - ping is just a sneaky way of getting sleep functionality ::Uncomment REM to activate REM ping 1.0.0.0 -n 1 -w 2000 > nul REM start "" "%FFexec%" & exit
第2部分:MPWDclose.vbs
Set MPWDclose = WScript.CreateObject("WScript.Shell") WScript.Sleep 250 MPWDclose.AppActivate("Password Required") WScript.Sleep 250 MPWDclose.Sendkeys "{ESC}" WScript.Sleep 50 WScript.Quit
第3部分:FFQuit.vbs
Set FFquit = WScript.CreateObject("WScript.Shell") WScript.Sleep 250 FFquit.AppActivate("- Mozilla Firefox") WScript.Sleep 250 FFquit.Sendkeys "%F" WScript.Sleep 100 FFquit.Sendkeys "x" WScript.Quit
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句