Chcę wyjść z Firefoksa z wiersza poleceń, nie „zmuszając” go. Chcę po prostu spowodować to samo, co kliknięcie Quit w menu Firefox.
Wydaje mi się, że muszę jakoś nazwać „goQuitApplication” w oparciu o następujące.
Próbowałem utworzyć plik XUL i uruchomić go, ale wystąpił błąd. Próbowałem uruchomić plik z tego postu Mozillazine , ale Firefox powiedział w konsoli, że „TypeError: Components.classes jest niezdefiniowany”.
Oto kod tego pliku 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>
Próbowałem po prostu wywołać „goQuitApplication” w funkcji ładowania (która najwyraźniej działa, jeśli wywoływana jest w konsoli przeglądarki), ale potem dostałem błąd „ReferenceError: goQuitApplication nie jest zdefiniowany”.
Czy ktoś zna dobry sposób na zamknięcie Firefoksa z wiersza poleceń bez wymuszania zabicia procesu lub zamykania poszczególnych okien?
źródło
Odpowiedzi:
Wczoraj wpadłem na to pytanie. Sam szukałem odpowiedzi. Nie jest to wielka sprawa, jeśli masz tylko jedno otwarte okno (prosta linia zadań bez znaku / f, aby przeglądarka mogła się zamknąć), ale gdy tylko masz dwa okna lub więcej, staje się to znacznie bardziej skomplikowane, ponieważ polecenie taskkill będzie tylko strzelał jedno okno na raz (efektywnie tracąc zakładki okna, chyba że jest to ostatnie do zamknięcia).
Skończyło się na napisaniu zestawu skryptów cmd / vbs w celu czystego zamknięcia Firefoksa. Skrypty wykrywają, czy monit o hasło główne jest otwarty i zamyka go (unikaj zakłócania skryptu FFQuit), skrypt FFQuit następnie aktywuje FF i wysyła naciśnięcie klawisza Alt-F, aby otworzyć menu pliku i X, aby wyjść z Firefoksa.
Tam masz szybkie i czyste wyjście, wszystkie okna wracają po ponownym uruchomieniu. Istnieje również opcja ponownego uruchomienia FF (po prostu odkomentuj odpowiednią sekcję):
Część 1: enkapsulujący skrypt cmd: quitFF.cmd
Część 2: MPWDclose.vbs
Część 3: FFQuit.vbs
źródło