Pliki AutoConfig mogą być wykorzystane do ustawiania i blokowania ustawień, które nie są objęte ogólnymi zasadami programu Firefox.
Aby korzystać z plików AutoConfig, należy umieścić dwa pliki w folderze programu Firefox. W systemie Windows będzie to ten sam folder, w którym Firefox został zainstalowany. W systemie macOS, będzie to folder Contents/Resources aplikacji Firefox.app.
Pierwszy plik nosi nazwę autoconfig.js i jest umieszczony w domyślnym folderze defaults/pref. Powinien zawierać następujący tekst:
pref("general.config.filename", "firefox.cfg"); pref("general.config.obscure_value", 0);
Pierwsza linia określa nazwę pliku AutoConfig. Możesz ustawić dowolną nazwę, ale miejsce jego zapisu nie może ulec zmianie.
Druga linia określa jawność pliku AutoConfig. Domyślnie, Firefox obsługuje pliki przesunięte o 13 bajtów, które są z tego powodu zaciemnione.
Drugi plik nosi nazwę firefox.cfg i jest umieszczony na najwyższym poziomie folderu.
Powinien zawsze zaczynać się od poniższej linii komentarza:
// IMPORTANT: Start your code on the 2nd line
Chociaż rozszerzenie pliku AutoConfig to zazwyczaj .cfg, sam plik zawiera treść w formacie JavaScript. Oznacza to, że możesz w jego obrębie używać JavaScript by tworzyć konfiguracje dla różnych warunków, zależnie od potrzeb.
W obrębie pliku AutoConfig dostępne są następujące funkcje:
pref(nazwa, wartość) – ustawia wartość użytkownika dla określonej preferencji. Funkcja ta jawnie ustawia preferencję jako zmienioną przez użytkownika. Oznacza to, że jeśli użytkownik zmienił jej wartość, będzie ona ustawiana do wartości domyślnej przy każdym uruchomieniu przeglądarki.
defaultPref(nazwa, wartość) – ustawia wartość domyślną określonej preferencji, która obowiązuje jeśli użytkownik nie ustawił żadnej własnej wartości.
lockPref(nazwa, wartość) – ustawia domyślną wartość określoną preferencji i blokuje jej zmiany. Ta funkcja jest najbardziej znana dla osób korzystających z plików AutoConfig. Zablokowanie preferencji uniemożliwia użytkownikowi przeglądarki zmianę jej wartości, a także (w większości przypadków) oznacza wyłączanie elementów interfejsu w ustawieniach, co w jasny sposób pokazuje użytkownikowi że możliwość zmiany danego ustawienia została zablokowana. W przypadku braku zmian w wyglądzie ustawień, dostępne są preferencje disable_button, które po zablokowaniu powodują blokowanie przycisków. Przykładowo, po zablokowaniu preferencji:
pref.privacy.disable_button.view_passwords
Przycisk
zostanie zablokowany. Inne preferencje blokujące przyciski to:pref.general.disable_button.default_browser pref.browser.homepage.disable_button.current_page pref.browser.homepage.disable_button.bookmark_page pref.browser.homepage.disable_button.restore_default security.disable_button.openCertManager security.disable_button.openDeviceManager app.update.disable_button.showUpdateHistory pref.privacy.disable_button.cookie_exceptions pref.privacy.disable_button.view_cookies pref.privacy.disable_button.view_passwords pref.privacy.disable_button.view_passwords_exceptions pref.downloads.disable_button.edit_actions.
unlockPref(nazwa) – odblokowuje określoną preferencję. Przykładowo, może to być przydatne przy blokowaniu preferencji dla wszystkich, a następnie odblokowanie jej dla wybranego użytkownika.
getPref(nazwa) – pobiera wartość określonej preferencji. Jeśli preferencja nie istnieje, wyświetlony zostaje błąd. Zalecamy korzystanie z tego polecenia jedynie dla istniejących preferencji.
clearPref(nazwa) – usuwa wartość użytkownika określonej preferencji, ustawiając jej wartość na domyślną.
displayError(nazwa, komunikat) – wyświetla błąd w określonym formacie.
Nie udało się uruchomić programu Netscape.cfg/AutoConfig. Proszę skontaktować się z administratorem. Błąd: [nazwa] nie udało się: [komunikat]
Jest to przydatne podczas debugowania.
getenv(nazwa) – pozwala na wysyłanie zapytań o wartości środowiska allows. Dzięku temu możesz na przykład pobierać nazwy użytkowników lub inne dane systemowe.
Jeśli chcesz zarządzać centralnie twoim plikiem AutoConfig, możesz określić położenie drugorzędnego pliku AutoConfig w podstawowym pliku AutoConfig:
pref("autoadmin.global_config_url","http://nazwatwojejdomeny.com/autoconfigfile.js");
URL może być podany w dowolnym protokole obsługiwanym przez przeglądarkę Firefox. Obejmuje to również użycie protokołu file:, wskazującego położenie pliku na dysku sieciowym. Format zdalnego pliku AutoConfig jest taki sam jak oryginalnego pliku AutoConfig dla klienta, ale pierwszy wiersz nie jest w nim ignorowany.
Jeśli chcesz wykorzystać konkretne dane użytkownika w swojej konfiguracji, możesz wykorzystać inną preferencję:
pref("autoadmin.append_emailaddr", true);
Spowoduje to dodanie znaku zapytania (?) i adresu emailowego do wysyłanego zapytania.
Firefox domyślnie nie korzysta z adresów emailowych, więc wymagane jest samodzielne ustawienie tej wartości. Jeśli nie zostanie ona ustawiona, Firefox wyświetli komunikat pytający o podanie adresu emailowego. Preferencja ta nosi nazwę mail.identity.useremail i jest łańcuchem znaków. Ponieważ plik AutoConfig to plik w formacie JS, możesz ją ustawić przed określeniem wartości autoadmin.global_config_url, na przykład w ten sposób:
var user = getenv("USER"); lockPref("mail.identity.useremail", nazwaużytkownika); lockPref("autoadmin.global_config_url","http://nazwatwojejdomeny.com/autoconfigfile.js");
Dostępne są również preferencje kontrolujące dodatkowe aspekty pliku AutoConfig. Przykładowo, autoadmin.refresh_interval powoduje odświeżenie pliku AutoConfig co x minut. Dwie preferencje określają działanie tej funkcji w trybie offline: autoadmin.offline_failover i autoadmin.failover_to_cached. Oto w jaki sposób możesz z nich skorzystać:
Za każdym razem kiedy plik AutoConfig jest pobierany ze zdalnej lokacji, tworzona jest jego kopia zapasowa o nazwie failover.jsc w folderze profilu użytkownika. Jeśli preferencja autoadmin.failover_to_cached ma wartość false, Firefox odczytuje zapisany plik i ustawia przeglądarkę w trybie offline, blokując możliwość przejścia w tryb online dla użytkownika. Jeśli wartość tej preferencji to true, Firefox korzysta z zapisanego pliku i kontynuuje normalne działanie. Preferencja autoadmin.offline_failover określa czy zapisany plik jest wykorzystywany jeśli użytkownik jest w trybie offline. Jeśli jej wartość to true, wykorzystywany jest zapisany plik.