From 074785cea106179cb3305637055ab0a009ca74f2 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:52 -0500 Subject: initial commit --- .../fragmenty_kodu/r\303\263\305\274ne/index.html" | 103 +++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 "files/pl/fragmenty_kodu/r\303\263\305\274ne/index.html" (limited to 'files/pl/fragmenty_kodu/różne/index.html') diff --git "a/files/pl/fragmenty_kodu/r\303\263\305\274ne/index.html" "b/files/pl/fragmenty_kodu/r\303\263\305\274ne/index.html" new file mode 100644 index 0000000000..a60d8fedf0 --- /dev/null +++ "b/files/pl/fragmenty_kodu/r\303\263\305\274ne/index.html" @@ -0,0 +1,103 @@ +--- +title: Różne +slug: Fragmenty_kodu/Różne +tags: + - Dodatki + - Rozszerzenia + - Strony_wymagające_dopracowania + - Wszystkie_kategorie +translation_of: Archive/Add-ons/Code_snippets/Miscellaneous +--- +
+

Support for extensions using XUL/XPCOM or the Add-on SDK was removed in Firefox 57, released November 2017. As there is no supported version of Firefox enabling these technologies, this page will be removed by December 2020.

+
+ +

{{LegacyAddonsNotice}} Tutaj znajdują się krótkie, służące do nauki, fragmenty kodu.

+ +

Zapisywanie strony internetowej do pliku

+ +

Poniższy kod nie pyta użytkownika o nazwę pliku, jednak możesz użyć do tego file picker component.

+ +
var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
+file.initWithPath("C:\\filename.html");
+var wbp = Components.classes['@mozilla.org/embedding/browser/nsWebBrowserPersist;1']
+  .createInstance(Components.interfaces.nsIWebBrowserPersist);
+wbp.saveDocument(content.document, file, null, null, null, null);
+
+ +

Wykrywanie systemu operacyjnego

+ +
// Zwraca WINNT, gdy jest to Windows XP, 2000, NT
+Components.classes["@mozilla.org/xre/app-info;1"].getService(Components.interfaces.nsIXULRuntime).OS;
+
+ +

Lista możliwych odpowiedzi przy używaniu LXR: http://lxr.mozilla.org/mozilla/sourc...nfigure.in#910.

+ +

Wykrywanie głównej aplikacji i jej wersji

+ +
var info = Components.classes["@mozilla.org/xre/app-info;1"].getService(Components.interfaces.nsIXULAppInfo);
+// Pobiera nazwę uruchomionej aplikacji
+info.name; // Zwraca "Firefox" dla Firefoksa
+info.version; // Zwraca "2.0.0.1" dla Firefoksa w wersji 2.0.0.1
+
+ +

Odzyskiwanie wersji rozszerzenia jaka jest określona w pliku install.rdf

+ +
var em = Components.classes["@mozilla.org/extensions/manager;1"]
+                   .getService(Components.interfaces.nsIExtensionManager);
+
+// Change extension-guid to the GUID of the extension whose version you want to retrieve;
+// np. foxyproxy@eric.h.jung dla FoxyProxy
+var addon = em.getItemForID("<extension-guid>");
+var version = addon.version;
+
+ +

Kopiowanie ze strumienia wejścia i wyjścia

+ +
// istream jest nsIInputStream i ostream jest nsIOutputStream
+
+// strumień wyjścia potrzebuje buforowania do swojej pracy.
+var bostream = Components.classes["@mozilla.org/network/buffered-output-stream;1"]
+                    .createInstance(Components.interfaces.nsIBufferedOutputStream);
+bostream.init(ostream, 0x8000);
+
+// make a stream pump and a stream listener to read from the input stream for us
+var pump = Components.classes["@mozilla.org/network/input-stream-pump;1"]
+                     .createInstance(Components.interfaces.nsIInputStreamPump);
+pump.init(istream, -1, -1, 0, 0, true);
+
+/* we need our own observer to know when to close the file */
+var observer = {
+  onStartRequest: function(aRequest, aContext) {},
+  onStopRequest: function(aRequest, aContext, aStatusCode) {
+    bostream.close();
+  }
+};
+
+// make a simple stream listener to do the writing to output stream for us
+var listener = Components.classes["@mozilla.org/network/simple-stream-listener;1"]
+                         .createInstance(Components.interfaces.nsISimpleStreamListener);
+listener.init(bostream, observer);
+
+// rozpoczyna kopiowanie
+pump.asyncRead(listener, null);
+
+ +

Ponowne uruchamianie Firefoksa/Thunderbird

+ +
var nsIAppStartup = Components.interfaces.nsIAppStartup;
+Components.classes["@mozilla.org/toolkit/app-startup;1"].getService(nsIAppStartup)
+          .quit(nsIAppStartup.eForceQuit | nsIAppStartup.eRestart);
+
+ +

Symulacja zdarzeń myszy i klawiatury

+ +

Interfejs nsIDOMWindowUtils stanowi metodę pomocy w symulacji zdarzeniami myszy i klawiatury.

+ +

Nowość w Firefoksie 3 / Gecko 1.9

+ +
var req = window.QueryInterface(Components.interfaces.nsIInterfaceRequestor);
+var utils = req.getInterface(Components.interfaces.nsIDOMWindowUtils);
+utils.sendMouseEvent("mousedown", 10, 10, 0, 1, 0);
+utils.sendMouseEvent("mouseup", 10, 10, 0, 1, 0);
+
-- cgit v1.2.3-54-g00ecf