aboutsummaryrefslogtreecommitdiff
path: root/files/pl/zastosowanie_nsixulappinfo/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/pl/zastosowanie_nsixulappinfo/index.html')
-rw-r--r--files/pl/zastosowanie_nsixulappinfo/index.html109
1 files changed, 0 insertions, 109 deletions
diff --git a/files/pl/zastosowanie_nsixulappinfo/index.html b/files/pl/zastosowanie_nsixulappinfo/index.html
deleted file mode 100644
index 6db49f9ad3..0000000000
--- a/files/pl/zastosowanie_nsixulappinfo/index.html
+++ /dev/null
@@ -1,109 +0,0 @@
----
-title: Zastosowanie nsIXULAppInfo
-slug: Zastosowanie_nsIXULAppInfo
-tags:
- - Dodatki
- - Rozszerzenia
- - Wszystkie_kategorie
-translation_of: Archive/Mozilla/XUL/Using_nsIXULAppInfo
----
-<p>
-Począwszy od Mozilla/<a href="pl/XULRunner">XULRunner</a> 1.8 istnieje sposób na dowiedzenie się na jakiej aplikacji, wersji aplikacji i wersji <a href="pl/Gecko">Gecko</a> pracuje Twój kod.
-</p><p>Jest to bardzo przydatne np. dla <a href="pl/Rozszerzenia">rozszerzeń</a>, które obsługują kilka aplikacji opartych o Mozillę lub kilka wersji pojedynczej aplikacji. <b>Nie</b> jest to przydatne dla skryptów na stronach internetowych, które powinny nadal używać <a href="pl/DOM/window.navigator">obiektu navigator</a>, gdy nie jest możliwa detekcja na podstawie cech przeglądarki.
-</p>
-<h2 id="Interfejs_nsIXULAppInfo"> Interfejs <code>nsIXULAppInfo</code> </h2>
-<p>Aby rozdróżnić różne aplikacje oparte o Mozillę, użyj zamrożonego interfejsu <a href="pl/NsIXULAppInfo">nsIXULAppInfo</a>. Poniższe fragmenty zawierają kilka przykładów użycia <code>nsIXULAppInfo</code> z poziomu JavaScriptu.
-</p><p>Zauważ że, mimo iż Firefox 1.5, Thunderbird 1.5 i inne aplikacje oparte o <a href="pl/XULRunner">XULRunnera</a> 1.8 obsługują <code>nsIXULAppInfo</code>, starsze aplikacje, takie jak Firefox i Thunderbird 1.0, nie obsługują go. Będziesz musiał napisać <a href="#old">dodatkowy kod dla starszych wersji</a>.
-</p>
-<h3 id="Uzyskiwanie_nsIXULAppInfo"> Uzyskiwanie <code>nsIXULAppInfo</code> </h3>
-<p>Aby uzyskać komponent implementujący <code>nsIXULAppInfo</code> użyj tego kodu:
-</p>
-<pre class="eval">var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
- .getService(Components.interfaces.nsIXULAppInfo);
-</pre>
-<p>(Po więcej wyjaśnień zajrzyj na <a class="external" href="http://xulplanet.com/references/xpcomref/creatingcomps.html">ten artykuł z XUL Planet</a>.)
-</p>
-<h3 id="Uzyskiwanie_informacji_o_aplikacji"> Uzyskiwanie informacji o aplikacji </h3>
-<p>Po otrzymaniu komponentu możesz odczytać jego własności, aby uzyskać identyfikator aplikacji, nazwę rozumianą przez człowieka, wersję, platformę itd. Aby zobaczyć pełną listę własności <code>nsIXULAppInfo</code>, zobacz opis interfejsu <a href="pl/NsIXULAppInfo">nsIXULAppInfo</a>.
-</p>
-<h4 id="Identyfikator"> Identyfikator </h4>
-<p>Możesz dowiedzieć się na jakiej aplikacji pracujesz poprzez użycie własności <code>nsIXULAppInfo.ID</code>.
-</p>
-<pre class="eval">const FIREFOX_ID = "{ec8030f7-c20a-464f-9b0e-13a3a9e97384}";
-const THUNDERBIRD_ID = "{3550f703-e582-4d05-9a08-453d09bdfdc6}";
-var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
- .getService(Components.interfaces.nsIXULAppInfo);
-if(appInfo.ID == FIREFOX_ID) {
- // pracujemy pod Firefoksem
-} else if(appInfo.ID == THUNDERBIRD_ID) {
- // pracujemy pod Thunderbirdem
-} else {
- // inna aplikacja
-}
-</pre>
-<p>Uwaga: możesz również użyć własności <code>nsIXULAppInfo.name</code>, która zwraca nazwę bardziej przyjazną dla człowieka, taką jak "Firefox" - ale kto wie, może znowu zmienią jej nazwę!
-</p>
-<h4 id="Wersja"> Wersja </h4>
-<p>Czasami musisz znać wersję aplikacji, na której działa Twój kod. Przykładowo, jedna z odmrożonych funkcji, na której polegałeś, została zmieniona.
-</p><p><b>Uwaga: <code>nsIXULAppInfo</code> dostarcza informacji o <i>aplikacji</i> i <i>platformie</i>, bądź więc ostrożny i wybierz właściwą, zwłaszcza przy obsłudze aplikacji opartych o XULRunnera.</b>
-</p><p>W takim przypadku chciałbyś prawdopodobnie sprawdzić <code>nsIXULAppInfo.version</code> i/lub <code>nsIXULAppInfo.appBuildID</code>. Druga własność jest użyteczna, jeśli zamierzasz obsługiwać rozwojowe wersje nightly aplikacji, natomiast pierwsza, gdy zamierzasz wspierać tylko oficjalne wydania wprowadzając rozróżnienie między kompilacjami gałęzi a kompilacjami pnia.
-</p><p><b>Przykład 1: sprawdzenie wersji Firefoksa</b>
-</p>
-<pre class="eval">// przyjmując, że pracujemy pod Firefoksem
-var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
- .getService(Components.interfaces.nsIXULAppInfo);
-var versionChecker = Components.classes["@mozilla.org/xpcom/version-comparator;1"]
- .getService(Components.interfaces.nsIVersionComparator);
-if(versionChecker.compare(appInfo.version, "1.5") &gt;= 0) {
- // używamy Firefoksa 1.5 lub późniejszego
-}
-</pre>
-<p><b>Przykład 2: radzimy sobie z wersjami nightly</b>
-</p>
-<pre class="eval">var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
- .getService(Components.interfaces.nsIXULAppInfo);
-if(appInfo.appBuildID &gt;= "2005093006") {
- // używamy kompilacji 2005093006 lub nowszej
-}
-</pre>
-<p>Nie powinieneś polegać na identyfikatorach kompilacji w przypadku wydań, ponieważ mogą one być różne dla konkretnych kompilacji lub zlokalizowanych wersji aplikacji.
-</p>
-<h4 id="Wersja_platformy"> Wersja platformy </h4>
-<p><code>nsIXULAppInfo</code> dostarcza informacji zarówno o aplikacji (jak na przykład Firefoksie) i platformie (tzn. Gecko lub XULRunner). Na przykład, w Firefoksie 1.5 beta 2 wersja aplikacji to 1.4.1, a wersja platformy to 1.8b5. Bądź ostrożny przy korzystaniu z tych informacji, zwłaszcza przy obsłudze aplikacji opartych o XULRunnera.
-</p><p>Uzyskiwanie informacji o wersji platformy wygląda następująco:
-</p>
-<pre class="eval">var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
- .getService(Components.interfaces.nsIXULAppInfo);
-var platformVer = appInfo.platformVersion;
-var platformBuildID = appInfo.platformBuildID;
-</pre>
-<p>&lt;s id="old"&gt;
-&lt;/s&gt;</p>&lt;s id="old"&gt;
-<h2 id="Starsze_wersje"> Starsze wersje </h2>
-<p>Jak wspomniano wyżej, starsze wersji aplikacji oparte o Mozillę 1.7 nie obsługują <code>nsIXULAppInfo</code>. Musisz napisać dodatkowy kod, jeśli zdecydujesz się na ich obsługę.
-</p><p>Na przykład, Firefox i Thunderbird 1.0 przechowywały swoje identyfikatory w opcji <code>app.id</code> (a wersje w <code>app.version</code>), więc mógłbyś użyć kodu takiego jak ten, by dowiedzieć się na jakiej aplikacji pracujesz:
-</p>
-<pre class="eval">function getAppID() {
- var id;
- if("@mozilla.org/xre/app-info;1" in Components.classes) {
- // running under Mozilla 1.8 or later
- id = Components.classes["@mozilla.org/xre/app-info;1"]
- .getService(Components.interfaces.nsIXULAppInfo).ID;
- } else {
- try {
- id = Components.classes["@mozilla.org/preferences-service;1"]
- .getService(Components.interfaces.nsIPrefBranch)
- .getCharPref("app.id");
- } catch(e) {
- // bardzo stara wersja
- dump(e);
- }
- }
- return id;
-}
-alert(getAppID());
-</pre>
-<h2 id="Zobacz_także"> Zobacz także </h2>
-<ul><li> MXR: <a href="https://dxr.mozilla.org/mozilla-central/source/xpcom/system/nsIXULAppInfo.idl" rel="custom">nsIXULAppInfo.idl</a>
-</li></ul>
-&lt;/s&gt;