From 218934fa2ed1c702a6d3923d2aa2cc6b43c48684 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:43:23 -0500 Subject: initial commit --- files/uk/mozilla/add-ons/index.html | 110 +++++ files/uk/mozilla/add-ons/themes/index.html | 61 +++ .../themes/\321\204\320\276\320\275/index.html" | 74 +++ .../mozilla/add-ons/webextensions/api/index.html | 57 +++ .../add-ons/webextensions/api/sessions/index.html | 136 ++++++ .../webextensions/api/sessions/restore/index.html | 108 +++++ files/uk/mozilla/add-ons/webextensions/index.html | 120 +++++ .../interact_with_the_clipboard/index.html | 171 +++++++ .../index.html" | 25 + .../firefox/experimental_features/index.html | 537 +++++++++++++++++++++ files/uk/mozilla/firefox/firefox_esr/index.html | 10 + files/uk/mozilla/firefox/index.html | 86 ++++ .../firefox/multiprocess_firefox/index.html | 85 ++++ .../message_manager/index.html | 71 +++ files/uk/mozilla/firefox/releases/53/index.html | 135 ++++++ files/uk/mozilla/firefox/releases/54/index.html | 116 +++++ files/uk/mozilla/firefox/releases/56/index.html | 122 +++++ files/uk/mozilla/firefox/releases/index.html | 12 + files/uk/mozilla/index.html | 14 + files/uk/mozilla/preferences/index.html | 48 ++ .../index.html" | 51 ++ 21 files changed, 2149 insertions(+) create mode 100644 files/uk/mozilla/add-ons/index.html create mode 100644 files/uk/mozilla/add-ons/themes/index.html create mode 100644 "files/uk/mozilla/add-ons/themes/\321\204\320\276\320\275/index.html" create mode 100644 files/uk/mozilla/add-ons/webextensions/api/index.html create mode 100644 files/uk/mozilla/add-ons/webextensions/api/sessions/index.html create mode 100644 files/uk/mozilla/add-ons/webextensions/api/sessions/restore/index.html create mode 100644 files/uk/mozilla/add-ons/webextensions/index.html create mode 100644 files/uk/mozilla/add-ons/webextensions/interact_with_the_clipboard/index.html create mode 100644 "files/uk/mozilla/add-ons/webextensions/\321\211\320\276_\321\202\320\260\320\272\320\265_web_\321\200\320\276\320\267\321\210\320\270\321\200\320\265\320\275\320\275\321\217/index.html" create mode 100644 files/uk/mozilla/firefox/experimental_features/index.html create mode 100644 files/uk/mozilla/firefox/firefox_esr/index.html create mode 100644 files/uk/mozilla/firefox/index.html create mode 100644 files/uk/mozilla/firefox/multiprocess_firefox/index.html create mode 100644 files/uk/mozilla/firefox/multiprocess_firefox/message_manager/index.html create mode 100644 files/uk/mozilla/firefox/releases/53/index.html create mode 100644 files/uk/mozilla/firefox/releases/54/index.html create mode 100644 files/uk/mozilla/firefox/releases/56/index.html create mode 100644 files/uk/mozilla/firefox/releases/index.html create mode 100644 files/uk/mozilla/index.html create mode 100644 files/uk/mozilla/preferences/index.html create mode 100644 "files/uk/mozilla/preferences/\321\201\320\270\321\201\321\202\320\265\320\274\320\260_\321\203\320\277\320\276\320\264\320\276\320\261\320\260\320\275\321\214/index.html" (limited to 'files/uk/mozilla') diff --git a/files/uk/mozilla/add-ons/index.html b/files/uk/mozilla/add-ons/index.html new file mode 100644 index 0000000000..955878627f --- /dev/null +++ b/files/uk/mozilla/add-ons/index.html @@ -0,0 +1,110 @@ +--- +title: Додатки +slug: Mozilla/Add-ons +tags: + - Mozilla + - Додатки + - Розширення +translation_of: Mozilla/Add-ons +--- +

{{AddonSidebar}}

+ +
Змінення та розширення застосунків Mozilla
+ +

Add-ons add new functionality to Gecko-based applications such as Firefox, SeaMonkey, and Thunderbird. There are two main types of add-on: Extensions add new features to the application, while Themes modify the application's user interface.

+ +

Add-ons can greatly affect the behavior of the application that hosts them. We've developed a set of guidelines to help ensure that they provide a good experience to users. These guidelines apply for all sorts of add-ons, whether they are hosted at addons.mozilla.org or not.

+ +
+

Розробка розширень

+ +

Extensions add new functionality to Mozilla applications such as Firefox and Thunderbird. They can add new features to the browser, such as a different way to manage tabs, and they can modify web content to improve the usability or security of particular websites.

+ +

There are three different techniques you can use to build extensions: Add-on SDK-based extensions, manually bootstrapped restartless extensions, and legacy extensions.

+ + + +
+

WebExtensions

+ +

We're working on a system called WebExtensions, which is a new way to develop WebExtensions for Firefox, that will be largely compatible with the system used by Chrome and Opera.

+ +

In the future this will be the preferred way to develop extensions for Firefox.

+ +

At the moment the implementation of this is experimental, but you can see the docs here if you want to give it a spin.

+
+ +

If you can, it's advisable to use the Add-on SDK, which uses the restartless extension mechanism but simplifies certain tasks and cleans up after itself. If the Add-on SDK isn't sufficient for your needs, implement a manual restartless extension instead.

+ +

For more information on choosing which technique to use, read this comparison.

+ +

Зневадження

+ +

Extension development is hard without being able to debug to see what lines errors were made on. You must enable the developer preferences in order for the logs to be show in the Browser Console. For desktop see here: Setting up an extension development environment.

+ +

For desktop follow Setting Up a Development Environment, for Mobile (Android/iOS) follow Debugging Firefox for Android with WebIDE which uses the "Browser Toolbox" from within the desktop WebIDE to catch errors occuring on the mobile device, for Firefox OS also use the WebIDE.

+ +
+
+ + +

No matter how you develop an extension, there are some guidelines you can follow to help ensure your extension provides as good a user experience as possible.

+ +
+
Performance
+
Ensuring your extension is fast, responsive and memory-efficient.
+
Security
+
Ensuring your extension doesn't expose the user to malicious websites.
+
Etiquette
+
Ensuring your extension plays nicely with other extensions.
+
+
+ +
+

Application-specific

+ +

Most of the documentation assumes you're developing for Firefox Desktop. If you're developing for some other Gecko-based application, there are major differences you need to know about.

+ +
+
Thunderbird
+
Developing extensions for the Thunderbird mail client.
+
Firefox for Android
+
Developing extensions for Firefox for Android.
+
SeaMonkey
+
Developing extensions for the SeaMonkey software suite.
+
+
+
+ +
+

Оприлюднення нових додатків

+ +

Mozilla operates a platform for reviewing, signing, and distributing add-ons and themes at addons.mozilla.org, also known as AMO.

+ +

You don't have to list your add-on on AMO, but starting in Firefox 43, you must submit your add-on to AMO so it can be reviewed and signed, or Firefox release users won't be able to install your add-on. If you do list your add-on on AMO, you can benefit from its visibility as a source for useful add-ons.

+ + + +
+

Інші типи додатків

+ +

Lightweight themes are much simpler to implement than complete themes, but provide very limited customization.

+ +

With complete themes you can make much deeper modifications to the application UI. The documentation for complete themes is out of date, but is linked to here as a possible basis for updated documentation.

+ +

Search engine plugins are a simple and very specific type of add-on: they add new search engines to the browser's search bar.

+ +

Plugins help the application understand web content that it does not natively support. NPAPI plugins are a legacy technology and new sites should not use them. In general, plugins are not available on most modern mobile systems including, and websites should transition away from using plugins.

diff --git a/files/uk/mozilla/add-ons/themes/index.html b/files/uk/mozilla/add-ons/themes/index.html new file mode 100644 index 0000000000..0fc6641958 --- /dev/null +++ b/files/uk/mozilla/add-ons/themes/index.html @@ -0,0 +1,61 @@ +--- +title: Themes +slug: Mozilla/Add-ons/Themes +tags: + - Look & Feel + - NeedsTranslation + - Themes + - TopicStub + - Додатки +translation_of: Mozilla/Add-ons/Themes +--- +

{{AddonSidebar}}

+ +
+

The Theme documentation here is out of date.

+
+ +

Themes are skins for different Mozilla applications. They allow you to change the look and feel of the user interface and personalize it to your tastes. A theme can simply change the colors of the UI or it can change every piece of its appearance.

+ +
+
+

Documentation

+ +
+
Building a Theme
+
A tutorial for building a simple theme in Firefox.
+
Common Theme Issues and Their Solutions
+
Common issues seen when AMO editors review themes and how to fix them.
+
Lightweight themes
+
Building lightweight themes for Firefox
+
Creating a Skin for SeaMonkey 2
+
An introduction to creating new themes for SeaMonkey 2.
+
Making Sure Your Theme Works with RTL Locales
+
How to make sure your theme will look right with Hebrew, Arabic, Persian and Urdu locales.
+
Theme Packaging
+
How to package themes for Firefox and Thunderbird.
+
Yet Another Theme Tutorial
+
Another tutorial in Mozilla theme construction.
+
Obsolete docs
+
These docs are very old and will never be updated, but we've kept them in case the are useful source material for people updating the Theme documentation.
+
+
+ +
+

Getting help

+ + + +

Tools

+ + +
+
+ +

 

diff --git "a/files/uk/mozilla/add-ons/themes/\321\204\320\276\320\275/index.html" "b/files/uk/mozilla/add-ons/themes/\321\204\320\276\320\275/index.html" new file mode 100644 index 0000000000..88eaf9c00f --- /dev/null +++ "b/files/uk/mozilla/add-ons/themes/\321\204\320\276\320\275/index.html" @@ -0,0 +1,74 @@ +--- +title: Фонові теми +slug: Mozilla/Add-ons/Themes/Фон +translation_of: Mozilla/Add-ons/Themes/Lightweight_themes +--- +

Як створити власну фонову тему

+ +
+

Теми робляться з файлу зображення  "header", який виставляє фон за замовчанням у користувацькому інтерфейсі Firefox

+ +

Закінчили свій дизайн? Викладіть його зараз!

+ +

Створення зображення верхівки теми

+ +

Зображення верхівки зображається як фонове зображення зверху вікна, знаходячись за панеллю інструментів, лінією вводу та вкладок. Воно буде відцентроване за правим верхнім кутом вікна.

+ +

+ + + +

Вимоги до файлу зображення

+ + + +

Поради

+ + + +

Онлайн-ресурси для редагування зображеннь

+ + + +

Викладання теми в мережу

+ +

Щоб почати викладати теми перейдіть до  Сторінки викладення тем:

+ +
    +
  1. Назвіть свою тему — виберіть унікальне ім'я для своєї теми. Дуплікати назв не дозволені,тож вам можливо прийдеться подумати над цим якийсь час.
  2. +
  3. Виберіть категорію та теги — виберіть категорію and та введіть теги, які найкраще описують вашу тему. Не забувайте про те, що переглядач може відхилити вашу тему, якщо її теги та/або категорія не підходять.
  4. +
  5. Опишіть свою тему — напишіть короткий опис своєї теми. Не забувайте про те, що переглядач може відхилити вашу тему, якщо її опис не підходить.
  6. +
  7. Виберіть ліцензію —  Прочитайте більше про ліцензії Creative Common. +
      +
    • Важливо: Впевніться, що ви маєте достатні права для зображень з вешої теми
    • +
    +
  8. +
  9. Вивантажте своє зображення
  10. +
  11. Select text and tab colors — you can choose the tab ("background") color and foreground text color that work best with your header image.
  12. +
  13. Preview your theme — you're ready to preview your theme! Simply mouse over the image above the Submit Theme button, and see how it looks instantly.
  14. +
  15. Submit your theme — if everything looks right, click the Submit Theme button and you're done! You can see all the themes you've authored on your profile page. +
      +
    • Tip: to ensure that your theme is approved for the gallery, be sure it complies with the content guidelines and terms of service!
    • +
    +
  16. +
+ +

Submit Your Theme Now

+ +

More Tutorials

+ +

Mozilla Themes Focal Point on Sizing - A tutorial on theming with a focus on sizing, by VanillaOrchids.

+
diff --git a/files/uk/mozilla/add-ons/webextensions/api/index.html b/files/uk/mozilla/add-ons/webextensions/api/index.html new file mode 100644 index 0000000000..0bbd6f9878 --- /dev/null +++ b/files/uk/mozilla/add-ons/webextensions/api/index.html @@ -0,0 +1,57 @@ +--- +title: JavaScript APIs +slug: Mozilla/Add-ons/WebExtensions/API +tags: + - NeedsTranslation + - TopicStub + - WebExtensions +translation_of: Mozilla/Add-ons/WebExtensions/API +--- +
{{AddonSidebar}}
+ +
+

JavaScript APIs for WebExtensions can be used inside the extension's background scripts and in any other documents bundled with the extension, including browser action or page action popups, sidebars, options pages, or new tab pages. A few of these APIs can also be accessed by an extension's content scripts (see the list in the content script guide).

+ +

To use the more powerful APIs you need to request permission in your extension's manifest.json.

+ +

You can access the APIs using the browser namespace:

+ +
function logTabs(tabs) {
+  console.log(tabs);
+}
+
+browser.tabs.query({currentWindow: true}, logTabs);
+
+ +
+

Many of the APIs are asynchronous, returning a Promise:

+ +
function logCookie(c) {
+  console.log(c);
+}
+
+function logError(e) {
+  console.error(e);
+}
+
+var setCookie = browser.cookies.set(
+  {url: "https://developer.mozilla.org/"}
+);
+setCookie.then(logCookie, logError);
+
+ +
+

Note that this is different from Google Chrome's extension system, which uses the chrome namespace instead of browser, and which uses callbacks instead of promises for asynchronous functions. As a porting aid, the Firefox implementation of WebExtensions APIs supports chrome and callbacks as well as browser and promises. Mozilla has also written a polyfill which enables code that uses browser and promises to work unchanged in Chrome: https://github.com/mozilla/webextension-polyfill.

+ +

Firefox also implements these APIs under the chrome namespace using callbacks. This allows code written for Chrome to run largely unchanged in Firefox for the APIs documented here.

+ +

Microsoft Edge uses the browser namespace, but doesn't yet support promise-based asynchronous APIs. In Edge, for the time being, asynchronous APIs must use callbacks.

+ +

Not all browsers support all the APIs: for the details, see Browser support for JavaScript APIs.

+ +

JavaScript API listing

+ +

See below for a complete list of JavaScript APIs:

+
+ +
{{SubpagesWithSummaries}}
diff --git a/files/uk/mozilla/add-ons/webextensions/api/sessions/index.html b/files/uk/mozilla/add-ons/webextensions/api/sessions/index.html new file mode 100644 index 0000000000..1a1c8fcf2c --- /dev/null +++ b/files/uk/mozilla/add-ons/webextensions/api/sessions/index.html @@ -0,0 +1,136 @@ +--- +title: sessions +slug: Mozilla/Add-ons/WebExtensions/API/sessions +tags: + - API + - Add-ons + - Extensions + - NeedsTranslation + - Non-standard + - Reference + - TopicStub + - WebExtensions + - sessions +translation_of: Mozilla/Add-ons/WebExtensions/API/sessions +--- +
{{AddonSidebar}}
+ +

Use the sessions API to list, and restore, tabs and windows that have been closed while the browser has been running.

+ +

The {{WebExtAPIRef("sessions.getRecentlyClosed()")}} function returns an array of {{WebExtAPIRef("tabs.Tab")}} and {{WebExtAPIRef("windows.Window")}} objects, representing tabs and windows that have been closed since the browser was running, up to the maximum defined in {{WebExtAPIRef("sessions.MAX_SESSION_RESULTS")}}.

+ +

You can then restore a window or tab using the {{WebExtAPIRef("sessions.restore()")}} function. Restoring doesn't just reopen the tab: it also restores the tab's navigation history so the back/forward buttons will work.

+ +

This API also provides a group of functions that enable an extension to store additional state associated with a tab or a window. Then, if the tab or window is closed and subsequently restored, the extension can retrieve the state. For example, a tab grouping extension might use this to remember which group a tab is in, so as to restore it into the right group if the user restores the tab.

+ +

To use the sessions API you must have the "sessions" API permission.

+ +

Types

+ +
+
{{WebExtAPIRef("sessions.Filter")}}
+
Enables you to restrict the number of {{WebExtAPIRef("sessions.Session", "Session")}} objects returned by a call to {{WebExtAPIRef("sessions.getRecentlyClosed()")}}.
+
{{WebExtAPIRef("sessions.Session")}}
+
+

Represents a tab or window that the user has closed in the current browsing session.

+
+
+ +

Properties

+ +
+
{{WebExtAPIRef("sessions.MAX_SESSION_RESULTS")}}
+
The maximum number of sessions that will be returned by a call to sessions.getRecentlyClosed().
+
+ +

Functions

+ +
+
{{WebExtAPIRef("sessions.forgetClosedTab()")}}
+
Removes a closed tab from the browser's list of recently closed tabs.
+
{{WebExtAPIRef("sessions.forgetClosedWindow()")}}
+
Removes a closed window from the browser's list of recently closed windows.
+
{{WebExtAPIRef("sessions.getRecentlyClosed()")}}
+
Returns an array of {{WebExtAPIRef("sessions.Session", "Session")}} objects, representing windows and tabs that were closed in the current browsing session (that is: the time since the browser was started).
+
{{WebExtAPIRef("sessions.restore()")}}
+
+

Restores a closed tab or window.

+
+
{{WebExtAPIRef("sessions.setTabValue()")}}
+
+

Store a key/value pair associated with a given tab.

+
+
{{WebExtAPIRef("sessions.getTabValue()")}}
+
+

Retrieve a previously stored value for a given tab, given its key.

+
+
{{WebExtAPIRef("sessions.removeTabValue()")}}
+
+

Remove a key/value pair from a given tab.

+
+
{{WebExtAPIRef("sessions.setWindowValue()")}}
+
+

Store a key/value pair associated with a given window.

+
+
{{WebExtAPIRef("sessions.getWindowValue()")}}
+
+

Retrieve a previously stored value for a given window, given its key.

+
+
{{WebExtAPIRef("sessions.removeWindowValue()")}}
+
+

Remove a key/value pair from a given window.

+
+
+ +

Events

+ +
+
{{WebExtAPIRef("sessions.onChanged")}}
+
+

Fired when a tab or window is closed.

+
+
+ +

Browser compatibility

+ +

{{Compat("webextensions.api.sessions")}}

+ +

{{WebExtExamples("h2")}}

+ +
Acknowledgements + +

This API is based on Chromium's chrome.sessions API.

+ +

Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.

+
+ + diff --git a/files/uk/mozilla/add-ons/webextensions/api/sessions/restore/index.html b/files/uk/mozilla/add-ons/webextensions/api/sessions/restore/index.html new file mode 100644 index 0000000000..f557ad46f1 --- /dev/null +++ b/files/uk/mozilla/add-ons/webextensions/api/sessions/restore/index.html @@ -0,0 +1,108 @@ +--- +title: sessions.restore() +slug: Mozilla/Add-ons/WebExtensions/API/sessions/restore +tags: + - API + - WebExtensions + - Додатки + - Розширення +translation_of: Mozilla/Add-ons/WebExtensions/API/sessions/restore +--- +
{{AddonSidebar()}}
+ +

Відновлює закрите вікно або вкладку. Відновлення є не просто перевідкриттям: воно також повертає історію переходів, тож кнопки вперед/назад також працюватимуть. Відновлення вікна відновить всі вкладки, які вікно мало перед закриттям.

+ +

Це асинхронна функція, що повертає Promise.

+ +

Синтаксис

+ +
var restoringSession = browser.sessions.restore(
+  sessionId             // рядок
+)
+
+ +

Параметри

+ +
+
sessionId
+
Рядок, що містить ідентифікатор сесії для відновлення вікна чи вкладки. Його можна дістати із властивості sessionId об'єкта {{WebExtAPIRef("tabs.Tab", "Tab")}} чи {{WebExtAPIRef("windows.Window", "Window")}}, взятого з котрогось із об'єктів {{WebExtAPIRef("sessions.Session", "Session")}}, що їх масив вертає {{WebExtAPIRef("sessions.getRecentlyClosed()")}}.
+
+ +

Вертає

+ +

Об'єкт Promise. Через нього буде передано об'єкт {{WebExtAPIRef("sessions.Session", "Session")}}, що відповідатиме відновленій сесії.

+ +

Підтримка веб-переглядачами

+ + + +

{{Compat("webextensions.api.sessions.restore")}}

+ +

Приклади

+ +

Цей код відновлює останню завершену сессію (вікно або вкладку):

+ +
function restoreMostRecent(sessionInfos) {
+  if (!sessionInfos.length) {
+    console.log("No sessions found")
+    return;
+  }
+  let sessionInfo = sessionInfos[0];
+  if (sessionInfo.tab) {
+    browser.sessions.restore(sessionInfo.tab.sessionId);
+  } else {
+    browser.sessions.restore(sessionInfo.window.sessionId);
+  }
+}
+
+function onError(error) {
+  console.log(error);
+}
+
+browser.browserAction.onClicked.addListener(function() {
+  var gettingSessions = browser.sessions.getRecentlyClosed({
+    maxResults: 1
+  });
+  gettingSessions.then(restoreMostRecent, onError);
+});
+
+ +

{{WebExtExamples}}

+ +
Подяки + +

Цей API ґрунтується на chrome.sessions API з Chromium.

+ +

Дані про сумісність з Microsoft Edge надано корпорацією Microsoft і подано тут під ліцензією Creative Commons Attribution 3.0 United States License.

+
+ + diff --git a/files/uk/mozilla/add-ons/webextensions/index.html b/files/uk/mozilla/add-ons/webextensions/index.html new file mode 100644 index 0000000000..3d759fc48c --- /dev/null +++ b/files/uk/mozilla/add-ons/webextensions/index.html @@ -0,0 +1,120 @@ +--- +title: Browser extensions +slug: Mozilla/Add-ons/WebExtensions +tags: + - Extensions + - Landing + - NeedsTranslation + - TopicStub + - WebExtensions + - Додатки +translation_of: Mozilla/Add-ons/WebExtensions +--- +
{{AddonSidebar}}
+ +

Розширення можуть розширювати і змінювати можливості веб-переглядача. Розширення для Firefox побудовані за допомогою WebExtension APIs, крос-браузерної системи для розробників розширень. To a large extent the system is compatible with the extension API supported by Google Chrome and Opera and the W3C Draft Community Group. Extensions written for these browsers will in most cases run in Firefox or Microsoft Edge with just a few changes. The API is also fully compatible with multiprocess Firefox.

+ +

If you have ideas or questions, or need help migrating a legacy add-on to use WebExtension APIs, you can reach us on the dev-addons mailing list or #extdev on IRC.

+ +
+ + +
+

Довідка

+ +

JavaScript APIs

+ + + +
{{ ListSubpages ("/en-US/Add-ons/WebExtensions/API") }}
+ +

Manifest keys

+ + + +
{{ ListSubpages ("/en-US/Add-ons/WebExtensions/manifest.json") }}
+
+
diff --git a/files/uk/mozilla/add-ons/webextensions/interact_with_the_clipboard/index.html b/files/uk/mozilla/add-ons/webextensions/interact_with_the_clipboard/index.html new file mode 100644 index 0000000000..b415ba0b0b --- /dev/null +++ b/files/uk/mozilla/add-ons/webextensions/interact_with_the_clipboard/index.html @@ -0,0 +1,171 @@ +--- +title: Interact with the clipboard +slug: Mozilla/Add-ons/WebExtensions/Interact_with_the_clipboard +translation_of: Mozilla/Add-ons/WebExtensions/Interact_with_the_clipboard +--- +
{{AddonSidebar}}
+ +

Існує два шляхи взаємодії веб-додатків з буфером обміну:  {{domxref("Document.execCommand()")}} метод і новітній асинхронний Clipboard API.

+ +

{{domxref("Document.execCommand()")}} може використовуватись, бажано з наступними командами:

+ + + +

Clipboard API надає асинхронний доступ считування та запису прямо в буфер обміну. Наприклад, щоб зчитати текст з буферу обміну виконайте:

+ +
navigator.clipboard.readText().then(text => outputElem.innerText = text);
+ +

Ця команда запитує текст в буфері та, та коли відповідь надійде з буферу, вона буде записана прямісенько в елемент {{domxref("Node.innerText", "innerText")}}.

+ +
+

Примітка: Асинхронний Clipboard API метод нещодавно доданий в специфікацію, і може ще працювати не в усіх веб-оглядачах. Запевнетесь щодо кожного методу в таблиці сумісності перед тим як використовувати його.

+
+ +

Запис в буфер обміну

+ +

Існує два шляхи запису в буфер обміну. Ви можете використати {{domxref("Document.execCommand", "document.execCommand()")}} для запиту  "cut" та "copy" дій, які замінюють контент в буфері із виділенним даними. Інша опція це Clipboard API's {{domxref("Clipboard.writeText()")}} чи {{domxref("Clipboard.write()")}}.

+ +

Використання execCommand()

+ +

{{domxref("Document.execCommand", "document.execCommand()")}} метод "cut" та "copy" команди можуть бути використані для заміни буферу із виділенними даними. Ці команди можуть бути виконані без будь яких дозволів, якщо ви використовуєте їх короткочасних обробниках дій користувача(наприклад, обробник кліку).

+ +

Наприклад HTML:

+ +
<input id="input" type="text"/>
+<button id="copy">Copy</button>
+
+ +

Із кнопкою "copy" яка копіює контент {{HTMLElement("input")}} елементу, ви можете використати код такий як:

+ +
function copy() {
+  var copyText = document.querySelector("#input");
+  copyText.select();
+  document.execCommand("copy");
+}
+
+document.querySelector("#copy").addEventListener("click", copy);
+ +

Тому що execCommand() виклик знаходится всередені обробника кліку, вам не потрібні ніякі спеціальні дозволи.

+ +

Однак, якщо наприклад замість того ви копіюєте з alarm:

+ +
function copy() {
+  var copyText = document.querySelector("#input");
+  copyText.select();
+  document.execCommand("copy");
+}
+
+browser.alarms.create({
+  delayInMinutes: 0.1
+});
+
+browser.alarms.onAlarm.addListener(copy);
+ +

Залежно від веб-оглядача, це може не спрацювати. У Firefox, це не спрацює, і ви побачете повідомлення помилки як:

+ +
document.execCommand(‘cut’/‘copy’) was denied because it was not called from inside a short running user-generated event handler.
+ +

Щоб надати можливість виконати це, вам потрібно запитати дозвол "clipboardWrite" permission. Тож: "clipboardWrite" дозволяє копіювати поза простих обробників дій користувача.

+ +

Використання Clipboard API

+ +

Clipboard API додає більшу гнучкість, в такому разі ви не обмежені лише в копіюванні поточного виділення в буфер обміну, ви маєте також можливість вказати будь яку інформацію внести в буфер.

+ +

Використання API потребує дозволу "clipboardRead" чи "clipboardWrite" в вашому manifest.json файлі.

+ +

Для страничних скриптів, Permissions API's потребує дозвіл "clipboard-write".  Ви можете запросити дозвіл з {{domxref("Permissions.query", "navigator.permissions.query()")}}:

+ +
navigator.permissions.query({name: "clipboard-write"}).then(result => {
+  if (result.state == "granted" || result.state == "prompt") {
+    /* write to the clipboard now */
+  }
+});
+
+ +

Ця функція приймає строку вводу та вносить ії в буфер обміну:

+ +
function updateClipboard(newClip) {
+  navigator.clipboard.writeText(newClip).then(function() {
+    /* clipboard successfully set */
+  }, function() {
+    /* clipboard write failed */
+  });
+}
+
+ +

Browser-specific considerations

+ +

Буфер обміну та інші APIs активно розвиваются, тож існують варіанти серед веб-оглядачів як вони працюють.

+ +

В Chrome:

+ + + +

В Firefox:

+ + + +
+

execCommand('copy') API не підтримує Safari

+
+ +

Зчитування буферу обміну

+ +

execCommand() дозволяє виконати "paste" команду, яка дозволяє вставити поточний контент в буфері обміну в область редагування. Ви можете отримати більшу гнучкість із  Clipboard API's {{domxref("Clipboard.read()")}} та {{domxref("Clipboard.readText()")}} методами.

+ +

Використання execCommand()

+ +

По-перше, вам потрібен дозвіл "clipboardRead" permission визначно до вашого додатку. Це обов'язвокі умови навіть якщо "paste" команда виконується в обробнику дій користувача такі як {{event("click")}} чи {{event("keypress")}}.

+ +

Наприклад HTML такий як:

+ +
<textarea id="output"></textarea>
+<button id="paste">Paste</button>
+
+ +

Щоб вставити контент в {{HTMLElement("textarea")}} з ID "output" з буферу обміну коли користувач нажме на кнопку "paste" {{HTMLElement("button")}}, використовуйте код:

+ +
function paste() {
+  var pasteText = document.querySelector("#output");
+  pasteText.focus();
+  document.execCommand("paste");
+  console.log(pasteText.textContent);
+}
+
+document.querySelector("#paste").addEventListener("click", paste);
+ +

Використання Clipboard API

+ +

Clipboard API's {{domxref("Clipboard.readText", "navigator.clipboard.readText()")}} та {{domxref("Clipboard.read", "navigator.clipboard.read()")}} методи дозволяють вам зчитувати  текст чи бінарні данні з буферу обміну. Вона надає можливість зчитувати данні в буфері без вставки його в елемент редагування.

+ +

Щойно ви отримали "clipboard-read" дозвіл з Permissions API, ви можете зчитати данні дуже легко:

+ +
navigator.clipboard.readText().then(clipText =>
+  document.getElementById("outbox").innerText = clipText);
+ +

Цей код витягує текст з буферу та замінює контент елементу з ID "outbox".

+ +

Browser-specific considerations

+ +

Firefox підтримує "clipboardRead" permission з версії 54, але личше підтримує вставку в елементи в content editable mode, які в контент скриптах лише працюють з  {{HTMLElement("textarea")}}. Для фонових скриптів, будь який елемент може бути змінений в режим редагування контенту.

+ +

Дивись також

+ + diff --git "a/files/uk/mozilla/add-ons/webextensions/\321\211\320\276_\321\202\320\260\320\272\320\265_web_\321\200\320\276\320\267\321\210\320\270\321\200\320\265\320\275\320\275\321\217/index.html" "b/files/uk/mozilla/add-ons/webextensions/\321\211\320\276_\321\202\320\260\320\272\320\265_web_\321\200\320\276\320\267\321\210\320\270\321\200\320\265\320\275\320\275\321\217/index.html" new file mode 100644 index 0000000000..2a9bc1da15 --- /dev/null +++ "b/files/uk/mozilla/add-ons/webextensions/\321\211\320\276_\321\202\320\260\320\272\320\265_web_\321\200\320\276\320\267\321\210\320\270\321\200\320\265\320\275\320\275\321\217/index.html" @@ -0,0 +1,25 @@ +--- +title: Що таке розширення? +slug: Mozilla/Add-ons/WebExtensions/Що_таке_Web_Розширення +tags: + - Web-Розширення + - Розширення +translation_of: Mozilla/Add-ons/WebExtensions/What_are_WebExtensions +--- +
{{AddonSidebar}}
+ +

Розширення є частинками коду, які змінюють функціонування web-браузера. Вони написані з використанням стандартних web-технологій - JavaScript, HTML і CSS - плюс деяких спеціальних JavaScript API. Крім того, розширення можуть додавати нові функції до браузера або змінювати зовнішній вигляд або вміст конкретних web-сайтів.

+ +

Розширення для Firefox створені з використанням API Web-розширень, крос-браузерної системи для розробки розширень. Значною мірою API сумісний з API розширенням, яке підтримується Google Chrome і Opera. Розширення написані для цих браузерів в більшості випадків запускатимуться у Firefox або Microsoft Edge з лише кількома змінами. API також повністю сумісний з багатопроцесовим Firefox.

+ +

В минулому, ви могли розробляти розширення Firefox використовуючи одне з трьох різних систем: XUL/XPCOM overlays, bootstrapped extensions, або Add-on SDK. По закінченню Листопада 2017-го, API Web-розширення будуть єдиним способом розробки розширень Firefox, і інші системи не будуть підтримуватися.

+ +

Якщо ви маєте ідеї або питання, чи вам потрібна допомога міграції успадкованого додатку на API Web-розширень, то ви можете зв'язатися з нами на dev-addons списку листування або в #extdev на IRC.

+ +

Що далі?

+ + diff --git a/files/uk/mozilla/firefox/experimental_features/index.html b/files/uk/mozilla/firefox/experimental_features/index.html new file mode 100644 index 0000000000..9b68f1611f --- /dev/null +++ b/files/uk/mozilla/firefox/experimental_features/index.html @@ -0,0 +1,537 @@ +--- +title: Експериментальні функції в Firefox +slug: Mozilla/Firefox/Experimental_features +translation_of: Mozilla/Firefox/Experimental_features +--- +
{{FirefoxSidebar}}

In order to test new features, Mozilla publishes a test version of the Firefox browser, Firefox Nightly, every day. Experimental features, for example implementations of proposed Web platform standards, are available. This page lists features that are in Nightly versions of Firefox along with information on how to activate them, if necessary. You can test your Web sites and applications before these features get released and ensure everything will still work with the latest Web technology capabilities.

+ +

To test these experimental features, you need to download Firefox Nightly or Firefox Developer Edition.

+ +

HTML

+ + + + + + + + + + + + + + + + + + + + +
ФункціяFirefox NightlyFirefox Developer EditionFirefox БетаFirefox ReleaseПереваги
Date and time inputs
+ The UI for the {{HTMLElement("input")}} date and time related input types.
Вимкнено
+ (available since 51)
Вимкнено
+ (available since 51)
Вимкнено
+ (available since 51)
---dom.forms.datetime
+ +

CSS

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ФункціяFirefox NightlyFirefox Developer EditionFirefox БетаFirefox ReleaseПереваги
Grid Layout4040Увімкнено
+ (available since 40, enabled by default since 52)
Вимкненоlayout.css.grid.enabled
SubgridsВимкненоВимкненоВимкненоВимкненоlayout.css.grid-template-subgrid-value.enabled
Logical values for clear and float CSS properties
+ The values {{cssxref("clear")}}: inline-start and clear: inline-end as well as {{cssxref("float")}}: inline-start and float: inline-end are making easier to create layouts that are agnostic to the text directionality.
4545ВимкненоВимкненоlayout.css.float-logical-values.enabled
Display stray control characters in CSS as hex boxes
+ This feature renders control characters (Unicode category Cc) other than tab (U+0009), line feed (U+000A), form feed (U+000C), and carriage return (U+000D) as a hexbox when they are not expected.
4343ВимкненоВимкненоlayout.css.control-characters.enabled
The transform-box property
+ Controls the box the relative values of {{cssxref("transform-origin")}} and {{cssxref("transform")}} relate too.
4141ВимкненоВимкненоsvg.transform-box.enabled
Basic shapes in clip-path
+ Adds the functions circle(), ellipse(), and polygon() to the set of possible values for {{cssxref("clip-path")}}. This is a part of CSS Masks Level 1.
Увімкнено
+ (available since 47, enabled by default since 53)
Увімкнено
+ (available since 47, enabled by default since 53)
Вимкнено
+ (available since 47)
Вимкнено
+ (available since 47)
layout.css.clip-path-shapes.enabled
Positioned CSS Masks
+ A subset of CSS Masks that includes longhand properties of CSS Masks, as well as a change in the shorthand property
515153Вимкнено
+ (planned for 53)
Controlled by a compile flag (MOZ_ENABLE_MASK_AS_SHORTHAND).
The font-display descriptor for @font-face
+ To improve Web fonts performance, {{cssxref("@font-face")}} has an experimental {{cssxref("@font-face/font-display", "font-display")}} descriptor.
Вимкнено
+ (available since 46)
Вимкнено
+ (available since 46)
Вимкнено
+ (available since 46)
Вимкнено
+ (available since 46)
layout.css.font-display.enabled
The touch-action CSS property
+ The {{cssxref("touch-action")}} CSS property is part of the {{SpecName("Pointer Events")}} specification and allows to specify how and in what way the user is able to manipulate an object by touch.
50layout.css.touch_action.enabled
+

The shape-outside CSS property
+ The {{cssxref("shape-outside")}} CSS property is part of the {{SpecName("CSS Shapes")}} specification and allows to specify a float area causing inline contents to wrap around a shape.

+ +

Firefox currently implements the <shape-box> values ({{bug(1309467)}}) as well as the circle() ({{bug(1311244)}}) and ellipse() ({{bug(1326406)}}) functions.

+
Вимкнено
+ (available since 53)
layout.css.shape-outside.enabled
The contain CSS property
+ The {{cssxref("contain")}} CSS property is part of the {{SpecName("CSS Containment")}} specification and allows to indicate that an element and its contents are independent of the rest of the document tree, allowing {{Glossary("User agent", "user agents")}} to optimize the rendering of a page.
Вимкнено
+ (available since 45)
Вимкнено
+ (available since 45)
Вимкнено
+ (available since 45)
Вимкнено
+ (available since 45)
layout.css.contain.enabled
+ +

JavaScript

+ +

See also ECMAScript Next support for implemented features of ECMAScript 2016 and later, that are not experimental and thus available without preferences in Firefox Release.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ФункціяFirefox NightlyFirefox Developer EditionFirefox БетаFirefox ReleaseПереваги
Additions to the ArrayBuffer object
+ Adds the {{jsxref("ArrayBuffer.transfer()")}} that returns a new ArrayBuffer whose contents have been taken from the oldBuffer's data (spec).
36ВимкненоВимкненоВимкненоNone
TypedObject objects (spec)УвімкненоВимкненоВимкненоВимкненоNone
SIMD (specification and polyfill)УвімкненоВимкненоВимкненоВимкненоNone
Shared Memory objects
+ {{jsxref("SharedArrayBuffer")}}
+ {{jsxref("Atomics")}}
Увімкнено
+ (available since 46)
Увімкнено
+ (available since 51)
Вимкнено
+ (available since 46)
Вимкнено
+ (available since 46)
javascript.options.shared_memory
+ +

APIs

+ +

Canvas & WebGL

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ФункціяFirefox NightlyFirefox Developer EditionFirefox БетаFirefox ReleaseПереваги
WEBGL_debug_renderer_info extension
+ The {{domxref("WEBGL_debug_renderer_info")}} extension allows to transmit information useful to help debugging problems to the server.
4242ВимкненоВимкненоwebgl.enable-debug-renderer-info
OffscreenCanvas
+ The {{domxref("OffscreenCanvas")}} interface provides a canvas that can be rendered off screen. It is available in both the window and worker contexts.
Вимкнено
+ (available since 44)
Вимкнено
+ (available since 44)
Вимкнено
+ (available since 44)
Вимкнено
+ (available since 44)
gfx.offscreencanvas.enabled
Hit regions
+ Whether the mouse coordinates are within a particular area on the canvas, is a common problem to solve. The hit region API allows you define an area of your canvas and provides another possibility to expose interactive content on a canvas to accessibility tools.
Вимкнено
+ (available since 30)
Вимкнено
+ (available since 30)
Вимкнено
+ (available since 30)
Вимкнено
+ (available since 30)
canvas.hitregions.enabled
+ +

 DOM

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ФункціяFirefox NightlyFirefox Developer EditionFirefox БетаFirefox ReleaseПереваги
WebVR API
+ The WebVR API allows to control and use virtual reality devices.
46
+ A major update of the interface happened in version 51.
46
+ A major update of the interface happened in version 51.
ВимкненоВимкненоdom.vr.enabled
FlyWeb
+ FlyWeb is a project at Mozilla focused on bringing a new set of APIs to the browser for advertising and discovering local-area web servers.
51ВимкненоВимкненоВимкненоdom.flyweb.enabled
HTMLMediaElement.seekToNextFrame()
+ Part of an experimentation process around support non-real-time access to media for tasks including filtering, editing, and so forth, the {{domxref("HTMLMediaElement.seekToNextFrame()")}} advances the the current play position to the next frame in the media.
49
+ (Fundamental update in version 50)
49
+ (Fundamental update in version 50)
ВимкненоВимкненоmedia.seekToNextFrame.enabled
GeometryUtils.getBoxQuads() ({{bug(917755)}})3131ВимкненоВимкненоlayout.css.getBoxQuads.enabled
GeometryUtils.convertPointFromNode(),
+ GeometryUtils.RectFromNode(), and
+ GeometryUtils.convertQuadFromNode()
+ ({{bug(918189)}})
3131ВимкненоВимкненоlayout.css.convertFromNode.enabled
Node.rootNode
+ The {{domxref("Node.rootNode")}} property returns a {{domxref("Node")}} object representing the topmost node in the tree, or the current node if it's the topmost node in the tree.
+ This feature is kept experimental as its naming poses Web compatibility problems. It will be renamed in the future.
4848ВимкненоВимкненоdom.node.rootNode.enabled
Performance Observer API
+ The {{domxref("PerformanceObserver")}} interface is used to observe performance measurement events and be notified of new performance entries as they are recorded in the browser's performance timeline.
49ВимкненоВимкненоВимкненоdom.enable_performance_observer
WebVTT Regions API
+ WebVTT regions are parts of the video viewport that provide a rendering area for WebVTT cues. The {{domxref("VTTRegion")}} is the interface exposing the WebVTT cues.
+ This interface is considered to be in flux and isn't therefore activated in any version by default.
Вимкнено
+ (Experimental implementation since version 30)
ВимкненоВимкненоВимкненоmedia.webvtt.regions.enabled
Support for audio and video tracks
+ Implements {{domxref("HTMLMediaElement.audioTracks")}} and {{domxref("HTMLMediaElment.videoTracks")}}.
+ Firefox doesn't support multiple audio or video tracks, preventing the most common use cases for these properties to work properly. That's why these properties are not activated by default in any version.
Вимкнено
+ (Experimental implementation since version 33)
ВимкненоВимкненоВимкненоmedia.track.enabled
Better value for Event.timestamp
+ The property {{domxref("Event.timestamp")}} is returning a {{domxref("DOMHighResTimeStamp")}}, but the value is not the time since but since the reboot. This change allow for returning a timestamp relative to the Unix epoch.
32 (Windows)
+ 43 (Linux)
32 (Windows)
+ 43 (Linux)
ВимкненоВимкненоmedia.track.enabled
Pointer Events50ВимкненоВимкненоВимкненоdom.w3c_pointer_events.enabled
MediaDevices.ondevicechange and the devicechange event
+ The {{domxref("MediaDevices.ondevicechange")}} event handler and corresponding {{event("devicechange")}} event make it possible to detect and react when audio and video devices are attached to or removed from the computer.
+

Вимкнено
+ 51 (Mac)

+ +

Увімкнено
+ 52 (Mac)
+ 52 (Windows)
+ 52 (Linux)

+
+

Вимкнено
+ 51 (Mac)

+ +

Увімкнено
+ 52 (Mac)
+ 52 (Windows)
+ 52 (Linux)

+
+

Вимкнено
+ 51 (Mac)

+ +

Увімкнено
+ 52 (Mac)
+ 52 (Windows)
+ 52 (Linux)

+
+

Вимкнено
+ 51 (Mac)

+ +

Увімкнено
+ 52 (Mac)
+ 52 (Windows)
+ 52 (Linux)

+
media.ondevicechange.enabled
Intersection Observer API
+ The {{domxref("Intersection Observer API")}} allows you to configure a callback that is called whenever one item, called a target, intersects either the device viewport or a specified element called.
Вимкнено
+ (available since 53)
---------dom.IntersectionObserver.enabled
Web Animations API
+ The {{domxref("KeyframeEffectReadOnly.KeyframeEffectReadOnly()")}} and {{domxref("KeyframeEffect.KeyframeEffect()")}} constructors can be used to clone existing {{domxref("KeyframeEffectReadOnly")}} object instances by being given the object to clone as their only parameter (see {{bug(1273784)}}.) The KeyframeEffect.clone() method, which was meant to provide this functionality but was never implemented in Firefox, has been removed from the spec.
5252ВимкненоВимкненоNone
+ +

Developer Tools

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ФункціяFirefox NightlyFirefox Developer EditionFirefox БетаFirefox ReleaseПереваги
Debugger rewrite in HTML5252ВимкненоВимкненоdevtools.debugger.new-debugger-frontend
Console rewrite in HTML52ВимкненоВимкненоВимкненоdevtools.webconsole.new-frontend-enabled
Responsive Design Mode rewrite in HTML
+ A rewrite of Responsive Design Mode using HTML adds new features like a device selector (applies size, UA, dPR), UI redesign, and there's more still to come.
52525252devtools.responsive.html.enabled
Experimental Performance tool options
+ Enables options in the UI for JIT optimizations, memory, etc.
41ВимкненоВимкненоВимкненоdevtools.performance.ui.experimental
Layout side panel
+ The Layout side panel allows to inspect and manage different CSS layout types like CSS Grid Layout.
Вимкнено
+ (available since 52)
Вимкнено
+ (available since 52)
------devtools.layoutview.enabled
+ +

See also

+ + diff --git a/files/uk/mozilla/firefox/firefox_esr/index.html b/files/uk/mozilla/firefox/firefox_esr/index.html new file mode 100644 index 0000000000..81ac408b05 --- /dev/null +++ b/files/uk/mozilla/firefox/firefox_esr/index.html @@ -0,0 +1,10 @@ +--- +title: Firefox ESR +slug: Mozilla/Firefox/Firefox_ESR +translation_of: Mozilla/Firefox/Firefox_ESR +--- +
{{FirefoxSidebar}}

Firefox з розширеною підтримкою (Extended Support Release - ESR) заснована на офіційній версії Firefox для настільних ПК, для використання організаціями, яким потрібна розширена підтримка для масового розгортання. Unlike other release channels, ESRs are not updated with new features every six weeks.Rather,they are supported for about a year and only updated with major security or stability fixes. The current ESR version is based on Firefox 45 issued on March 8th, 2016. The next ESR version will be released on December 27th, 2016 and will be number 52.

+ +

CCK2 це кращий спосіб, щоб налаштувати Firefox. Завантажити тут.

+ +

We strongly encourage Firefox ESR users to sign up for the Enterprise Working Group (EWG) mailing list.

diff --git a/files/uk/mozilla/firefox/index.html b/files/uk/mozilla/firefox/index.html new file mode 100644 index 0000000000..1fd1fae05f --- /dev/null +++ b/files/uk/mozilla/firefox/index.html @@ -0,0 +1,86 @@ +--- +title: Firefox +slug: Mozilla/Firefox +tags: + - Firefox + - Landing + - Mozilla + - NeedsTranslation + - TopicStub +translation_of: Mozilla/Firefox +--- +
{{FirefoxSidebar}}
+ +

Firefox is Mozilla's popular Web browser, available for multiple platforms including Windows, macOS, and Linux on the desktop and all Android and iOS mobile devices. With broad compatibility, the latest in Web technologies, and powerful development tools, Firefox is a great choice for both Web developers and end users.

+ +

Firefox is an open source project; much of the code is contributed by our huge community of volunteers. Here you can learn about how to contribute to the Firefox project and you will also find links to information about the construction of Firefox add-ons, using the developer tools in Firefox, and other topics.

+ +
+

Learn how to create add-ons for Firefox, how to develop and build Firefox itself, and how the internals of Firefox and its subprojects work.

+
+ + + +

Firefox channels

+ +

Firefox is available in five channels.

+ +

Firefox Nightly

+ +

Each night we build Firefox from the latest code in mozilla-central. These builds are for Firefox developers or those who want to try out the very latest cutting edge features while they're still under active development.

+ +

Download Firefox Nightly

+ +

Firefox Developer Edition

+ +

This is a version of Firefox tailored for developers. Every six weeks, we take the features in Firefox Nightly that are stable enough and create a new version of Firefox Developer Edition. We also add some extra features for developers that are only available in this channel.

+ +

Learn more about Firefox Developer Edition.

+ +

Download Firefox Developer Edition

+ +

Firefox Beta

+ +

After spending six weeks in Firefox Developer Edition, we take the features that are stable enough, and create a new version of Firefox Beta. Firefox Beta builds are for Firefox enthusiasts to test what's destined to become the next released Firefox version.

+ +

Download Firefox Beta

+ +

Firefox

+ +

After stabilizing for another six weeks in Beta, we're ready to ship the new features to hundreds of millions of users in a new release version of Firefox.

+ +

Download Firefox

+ +

Firefox Extended Support Release (ESR)

+ +

Firefox ESR is the long-term support edition of Firefox for desktop for use by organizations including schools, universities, businesses and others who need extended support for mass deployments.

+ +

Learn more about Firefox Extended Support Release.

+ +

Download Firefox ESR

+ +

Contents

+ +

{{LandingPageListSubpages}}

+ +

Firefox profiles

+ +

If you find yourself using multiple Firefox channels—or just multiple configurations—on a regular basis, you should read how to use multiple Firefox profiles by turning Firefox's Profile Manager and other profile management tools to your advantage.

+ +

See also

+ + diff --git a/files/uk/mozilla/firefox/multiprocess_firefox/index.html b/files/uk/mozilla/firefox/multiprocess_firefox/index.html new file mode 100644 index 0000000000..db6e8d0c3e --- /dev/null +++ b/files/uk/mozilla/firefox/multiprocess_firefox/index.html @@ -0,0 +1,85 @@ +--- +title: Multiprocess Firefox +slug: Mozilla/Firefox/Multiprocess_Firefox +tags: + - Electrolysis + - Firefox + - Mozilla + - Multiprocess + - NeedsTranslation + - TopicStub + - e10s +translation_of: Mozilla/Firefox/Multiprocess_Firefox +--- +

{{FirefoxSidebar}}

+ +

In older versions of Firefox for desktop, the entire browser ran within a single operating system process. Specifically, the JavaScript that ran the browser UI (also known as "chrome code") and the JavaScript that ran within web pages (also known as "content" or "web content") were not separated.
+
+ Currently, the latest versions of Firefox run the browser UI and the web content in separate processes. In the current iteration of this architecture, all browser tabs run within the same process and the browser UI runs in its own individual process. In future iterations of Firefox, there will be more than one process to exclusively handle web content. The internal name for this project is called Electrolysis, sometimes abbreviated to e10s.

+ +

The good news is that normal web pages and their developers are unaffected by this changeover to a multiprocess-based Firefox. Unfortunately, people developing for Firefox or Firefox add-ons will be affected if their code relies on being able to access web content directly since the system for accessing this data is going to change.

+ +

Instead of accessing web content directly, chrome code will have to use the message manager instead. To help ease this transition we've implemented Cross Process Object Wrappers and some compatibility shims for add-on developers. If you are an add-on developer wondering whether or not you are affected by this change, see the guide to working with multiprocess Firefox.

+ +
+
+
+
+
Technical overview
+
A high-level overview of how multiprocess Firefox is implemented.
+
Web content compatibility guide
+
Guidelines and details on potential website compatibility issues that may arise due to the transition. Tip: there aren't very many!
+
Glossary
+
A glossary of terms used in multiprocess Firefox.
+
Message manager
+
A complete guide to the objects used to communicate between chrome code and web content.
+
SDK-based add-ons
+
How to migrate add-ons developed using the Add-on SDK.
+
Which URIs load where
+
A quick guide to which URIs - chrome:, about:, file:, resource: - are loaded into which process.
+
+
+ +
+
+
Motivation
+
Why we are implementing multiprocess Firefox: performance, security, and stability.
+
Add-on migration guide
+
If you are an add-on developer, find out if you are affected and how to update your code.
+
Cross Process Object Wrappers
+
Cross Process Object Wrappers are a migration aid, giving chrome code synchronous access to web content.
+
Debugging content processes
+
How to debug code running in the content process, including frame and process scripts.
+
Tab selection in multiprocess Firefox
+
How switching tabs works in multiprocess Firefox.
+
+
+
+ +
+
+
+
+
Limitations of chrome scripts
+
Practices that will no longer work in chrome code, and how to update them.
+
+
+ +
+
+
Limitations of frame scripts
+
Practices that will not work inside frame scripts, and what to do instead.
+
+
+
+ +
+

Contact us

+ +

Find out more about the project, get involved, or ask us your questions.

+ + diff --git a/files/uk/mozilla/firefox/multiprocess_firefox/message_manager/index.html b/files/uk/mozilla/firefox/multiprocess_firefox/message_manager/index.html new file mode 100644 index 0000000000..3ee94a8191 --- /dev/null +++ b/files/uk/mozilla/firefox/multiprocess_firefox/message_manager/index.html @@ -0,0 +1,71 @@ +--- +title: Message manager +slug: Mozilla/Firefox/Multiprocess_Firefox/Message_Manager +translation_of: Mozilla/Firefox/Multiprocess_Firefox/Message_Manager +--- +
{{FirefoxSidebar}}
+ +

n старих версій Firefox для настільних ПК весь браузер працював в рамках однієї операційної системи. Зокрема, JavaScript, який керував користувальницьким інтерфейсом браузера (також відомий як "хромний код"), і JavaScript, який працює на веб-сторінках (також відомий як "вміст" або "веб-контент"), не були розділені.
+
+ В даний час останні версії Firefox запускають інтерфейс браузера та веб-вміст в окремих процесах. У поточній ітерації цієї архітектури всі вкладки браузера запускаються в межах одного процесу, а інтерфейс браузера працює у своєму індивідуальному процесі. У майбутніх ітераціях Firefox буде не один процес виключно обробки веб-контенту. Внутрішня назва цього проекту називається Електроліз, іноді скорочується до e10s.
+
+ Хороша новина полягає в тому, що звичайні веб-сторінки та їх розробники не впливають на цю перехід на багатопроцесорний Firefox. На жаль, люди, що розробляють додатки для Firefox або Firefox, будуть впливати, якщо їх код покладається на можливість доступу до веб-контенту безпосередньо, оскільки система доступу до цих даних зміниться.
+
+ Замість доступу до веб-вмісту безпосередньо, хромований код повинен буде використовувати замість цього менеджер повідомлень. Щоб полегшити цей перехід, ми впровадили перехресні об єкти обгортки та деякі програми сумісності для розробників додатків. Якщо ви розробник додатку, цікавитесь, чи впливає ви на цю зміну чи ні, перегляньте посібник із роботи з багатопроцесорним Firefox.

+ +

Guides

+ +
+ + + +
+ +
+

API reference

+ +
+ + + +
diff --git a/files/uk/mozilla/firefox/releases/53/index.html b/files/uk/mozilla/firefox/releases/53/index.html new file mode 100644 index 0000000000..8345a0be47 --- /dev/null +++ b/files/uk/mozilla/firefox/releases/53/index.html @@ -0,0 +1,135 @@ +--- +title: Firefox 53 для розробників +slug: Mozilla/Firefox/Releases/53 +tags: + - Примітки До Випуску +translation_of: Mozilla/Firefox/Releases/53 +--- +
{{FirefoxSidebar}}

Firefox 53 був випущений 19 квітня 2017 року. У цій статті перераховані основні зміни, корисні не тільки для веб-розробників, але також для розробників Firefox і Gecko, разом із розробниками додатків.

+ +

Зміни для веб розробників

+ +

Інструменти для розробників

+ + + +

CSS

+ + + +

JavaScript

+ + + +

Interfaces/APIs/DOM

+ +

DOM & HTML DOM

+ +

Без змін.

+ +

Canvas

+ +

Без змін.

+ +

WebGL

+ +

Без змін.

+ +

IndexedDB

+ +

Без змін.

+ +

Service Workers

+ +

Без змін.

+ +

WebRTC

+ +

Без змін.

+ +

New APIs

+ +

Без змін.

+ +

Others

+ +

Без змін.

+ +

MathML

+ +

Без змін.

+ +

SVG

+ + + +

Audio/Video

+ +

Без змін.

+ +

HTTP

+ +

Без змін.

+ +

Networking

+ +

Без змін.

+ +

Безпека

+ +

Без змін.

+ +

Changes for add-on and Mozilla developers

+ +

Інтерфейси

+ +

Без змін.

+ +

XUL

+ +

Без змін.

+ +

Без змін.

+ +

JavaScript code modules

+ + + +

XPCOM

+ +

Без змін.

+ +

Шнше

+ +

Без змін.

+ +

See also

+ + + +

Більш ранні версії

+ +

{{Firefox_for_developers(53)}}

diff --git a/files/uk/mozilla/firefox/releases/54/index.html b/files/uk/mozilla/firefox/releases/54/index.html new file mode 100644 index 0000000000..8a7d95ede3 --- /dev/null +++ b/files/uk/mozilla/firefox/releases/54/index.html @@ -0,0 +1,116 @@ +--- +title: Firefox 54 для розробників +slug: Mozilla/Firefox/Releases/54 +translation_of: Mozilla/Firefox/Releases/54 +--- +
{{FirefoxSidebar}}
+

Реліз Firefox 54 від 13 червня 2017. У цій статті наведено перелік ключових змін, корисних для веб-розробників.

+ +

Зміни для веб-розробників

+ +

Інструменти для розробників

+ +

Без змін.

+ +

HTML

+ +

Без змін.

+ +

CSS

+ +

Без змін.

+ +

JavaScript

+ +

Без змін.

+ +

Інтерфейси/API/DOM

+ +

DOM & HTML DOM

+ +

Без змін.

+ +

Canvas

+ +

Без змін.

+ +

WebGL

+ +

Без змін.

+ +

IndexedDB

+ +

Без змін.

+ +

Service Workers

+ +

Без змін.

+ +

WebRTC

+ +

Без змін.

+ +

Нові API

+ +

Без змін.

+ +

Інші

+ +

Без змін.

+ +

MathML

+ +

Без змін.

+ +

SVG

+ +

Без змін.

+ +

Аудіо/Відео

+ +

Без змін.

+ +

HTTP

+ +

Без змін.

+ +

Мережа

+ +

Без змін.

+ +

Безпека

+ +

Без змін.

+ +

Зміни для доповненнь і розробників Mozilla

+ +

Інтерфейси

+ +

Без змін.

+ +

XUL

+ +

Без змін.

+ +

Модулі JavaScript коду

+ +

Без змін.

+ +

XPCOM

+ +

Без змін.

+ +

Інше

+ +

Без змін.

+ +

Дивіться також

+ + + +

Більш ранні версії

+ +

{{Firefox_for_developers(53)}}

+
diff --git a/files/uk/mozilla/firefox/releases/56/index.html b/files/uk/mozilla/firefox/releases/56/index.html new file mode 100644 index 0000000000..de30397e9e --- /dev/null +++ b/files/uk/mozilla/firefox/releases/56/index.html @@ -0,0 +1,122 @@ +--- +title: Firefox 56 for developers +slug: Mozilla/Firefox/Releases/56 +translation_of: Mozilla/Firefox/Releases/56 +--- +
{{FirefoxSidebar}}
+

Ця стаття надає інформацію щодо змін в Firefox 56, які стосуються розробників. Firefox 56 є поточною Beta версією Firefox, і буде довершено 26 вересня 2017.

+ +
+

Зміни для розробників Web

+ +

Засоби розробника

+ +

Без змін.

+ +

HTML

+ +
    +
  • Реалізована властивість labels для елементів форми, які можуть мати мітки, наприклад {{domxref("HTMLInputElement.labels")}} ({{bug(556743)}}).
  • +
  • Реалізовано <link rel="preload">; див. Preloading content with rel="preload" для деталей ({{bug(1222633)}}).
  • +
+ +

CSS

+ +
    +
  • Implemented the proprietary Mozilla-specific {{cssxref("<color>")}} values -moz-win-accentcolor and -moz-win-accentcolortext (see {{bug(1344910)}}), and the proprietary media query -moz-windows-accent-color-in-titlebar (see {{bug(1379938)}}).
  • +
+ +

SVG

+ +

No changes.

+ +

JavaScript

+ +
    +
  • The Intl API has been enabled on Firefox for Android ({{bug(1344625)}}).
  • +
+ +

APIs

+ +

New APIs

+ +

No changes.

+ +

DOM

+ +
    +
  • On Mac, {{domxref("Document.hidden")}} is now true when the window is behind another non-translucent application {{bug(1236512)}}.
  • +
  • The {{domxref("Gamepad.displayId")}} property has been implemented ({{bug(1375816)}}).
  • +
  • The {{domxref("CanvasRenderingContext2D.drawImage()")}} method has been updated so that smoothing occurs when downscaling even if imageSmoothingEnabled is false. This is not mandatory as per spec, but follows Chrome's behaviour. See {{bug(1360415)}}.
  • +
  • The {{domxref("PerformanceTiming.secureConnectionStart")}} property has been implemented ({{bug(772589)}}).
  • +
  • Firefox used to accept iso-2022-jp-2 sequences silently when an iso-2022-jp {{domxref("TextDecoder.TextDecoder","TextDecoder()")}} was instantiated, however this has now been removed to simplify the API, as no other browsers support it and no pages seem to use it. ({{bug(715833)}}).
  • +
  • The 4ms clamping behaviour of {{domxref("WindowOrWorkerGlobalScope.setTimeout","setTimeout()")}} and {{domxref("WindowOrWorkerGlobalScope.setInterval","setInterval()")}} has been updated to be more in line with other browsers, as described in Timeouts throttled to >=4ms ({{bug(1378586)}}).
  • +
  • The Page Visibility API's {{domxref("Document.onvisibilitychange")}} handler has been added ({{bug("1333912")}}).
  • +
+ +

DOM events

+ +
    +
  • {{domxref("GlobalEventHandlers.onwheel")}} is now available on {{domxref("HTMLElement")}} — it wasn't before ({{bug(1370550)}}).
  • +
+ +

WebRTC

+ +
    +
  • Firefox now supports the {{domxref("RTCPeerConnection")}} properties which let you examine the current and pending configurations of the local and remote ends of the connection, to help manage changes in configuration: {{domxref("RTCPeerConnection.currentLocalDescription", "currentLocalDescription")}}, {{domxref("RTCPeerConnection.pendingLocalDescription", "pendingLocalDescription")}}, {{domxref("RTCPeerConnection.currentRemoteDescription", "currentRemoteDescription")}}, and {{domxref("RTCPeerConnection.pendingRemoteDescription", "pendingRemoteDescription")}}.
  • +
+ +

Security

+ +

No changes.

+ +

Plugins

+ +

No changes.

+ +

Other

+ +
    +
  • Gecko now encodes URLs internally as punycode, to avoid URL encoding problems (see {{bug("945240")}}, also see discussion in {{bug("942074")}}).
  • +
  • Firefox on Windows and Mac OS X can now be made to run in headless mode using the -headless flag (see {{bug(1355150)}} and {{bug(1355147)}}).
  • +
+ +

Removals from the web platform

+ +

HTML

+ +
    +
  • The {{htmlelement("isindex")}} element has been removed from the HTML parser, and from form submission ({{bug(1266495)}}).
  • +
  • The {{htmlelement("applet")}} element has been removed ({{bug(1279218)}}).
  • +
+ +

APIs

+ +
    +
  • The {{domxref("KeyframeEffectReadOnly.spacing")}} property has been removed from the {{SpecName('Web Animations')}} spec, and therefore has been removed from Gecko as well ({{bug(1339690)}}).
  • +
+ +

SVG

+ +

No changes.

+ +

Changes for add-on and Mozilla developers

+ +

WebExtensions

+ +

No changes.

+ +

See also

+ + +
+ + + +

Older versions

+ +

{{Firefox_for_developers(55)}}

+
diff --git a/files/uk/mozilla/firefox/releases/index.html b/files/uk/mozilla/firefox/releases/index.html new file mode 100644 index 0000000000..76a543b9bb --- /dev/null +++ b/files/uk/mozilla/firefox/releases/index.html @@ -0,0 +1,12 @@ +--- +title: Firefox developer release notes +slug: Mozilla/Firefox/Releases +tags: + - Firefox + - Примітки До Випуску + - Список змін +translation_of: Mozilla/Firefox/Releases +--- +
{{FirefoxSidebar}}

Нижче ви знайдете посилання на примітки до випуску розробникам для кожної нової версії Firefox. Ці з любв'ю оброблені примітки містять детальну інформацію про те, які функції додані вдосконалені і які помилки були усунені в кожній версії Firefox. Все написано, щоб дати розробникам інформацію, необхідну їм найбільше. Ласкаво просимо.

+ +
{{ListSubpages("",1,1,1)}}
diff --git a/files/uk/mozilla/index.html b/files/uk/mozilla/index.html new file mode 100644 index 0000000000..cf62cf1852 --- /dev/null +++ b/files/uk/mozilla/index.html @@ -0,0 +1,14 @@ +--- +title: Mozilla +slug: Mozilla +tags: + - Advanced + - CodingScripting + - Landing + - Mozilla + - Додатки +translation_of: Mozilla +--- +

Наведені нижче статті описують завантаження й побудову коду Mozilla. Також Ви знайдете корисні статті про те, як цей код працює, як здійснювати побудову додатків Mozilla різного призначення тощо.

+ +

{{LandingPageListSubpages}}

diff --git a/files/uk/mozilla/preferences/index.html b/files/uk/mozilla/preferences/index.html new file mode 100644 index 0000000000..1169ecabf1 --- /dev/null +++ b/files/uk/mozilla/preferences/index.html @@ -0,0 +1,48 @@ +--- +title: Preferences +slug: Mozilla/Preferences +tags: + - NeedsTranslation + - TopicStub +translation_of: Mozilla/Preferences +--- +

The preference system makes it possible to store data for Mozilla applications using a key/value pairing system. These articles provide information about how to use the preference system.

+ + + + + + + +
+

Documentation

+
+
Preferences system
+
An introduction to using the preference system in Mozilla.
+
XUL School: Handling preferences
+
The XUL School tutorial chapter on preferences.
+
Mozilla preference reference
+
A reference guide to all Mozilla preferences; currently a work in progress.
+
A brief guide to Mozilla preferences
+
An introductory guide to where preferences are stored and other useful information about the core preference system.
+
Using preferences from application code {{gecko_minversion_inline("6.0")}}
+
Firefox 6 introduced static functions for accessing preferences efficiently from within application code. This API is not available for add-ons, but if you're working on a Gecko application, this API is the preferred way to access preferences.
+
Mozilla networking preferences
+
A guide to key networking-related preferences.
+
Mozilla preferences for uber-geeks
+
A guide to preferences that only truly elite geeks should play with.
+
+

View all pages tagged with "Preferences"...

+
+

Examples

+
+
Code snippets
+
Preference-related code snippets.
+
Adding preferences to an extension
+
How to add preferences to an existing extension.
+
+ + +
diff --git "a/files/uk/mozilla/preferences/\321\201\320\270\321\201\321\202\320\265\320\274\320\260_\321\203\320\277\320\276\320\264\320\276\320\261\320\260\320\275\321\214/index.html" "b/files/uk/mozilla/preferences/\321\201\320\270\321\201\321\202\320\265\320\274\320\260_\321\203\320\277\320\276\320\264\320\276\320\261\320\260\320\275\321\214/index.html" new file mode 100644 index 0000000000..9d59879fd2 --- /dev/null +++ "b/files/uk/mozilla/preferences/\321\201\320\270\321\201\321\202\320\265\320\274\320\260_\321\203\320\277\320\276\320\264\320\276\320\261\320\260\320\275\321\214/index.html" @@ -0,0 +1,51 @@ +--- +title: Система уподобань +slug: Mozilla/Preferences/Система_уподобань +tags: + - XUL + - Система уподобань +translation_of: Mozilla/Preferences/Preferences_system +--- +

Цей документ описує нову систему уподобань. Її використання уможливлює створення вікон із вподобаннями, що відповідно виглядають та працюють на різних платформах (Windows, MacOS X та GNOME).

+ + + +

The system is implemented through a few XUL elements and attributes. Reference information about them is available below:

+ +

Preferences System documentation:

+ +

Use

+ +

Code for a typical preferences window may look like this:

+ +
<prefwindow id="appPreferences"
+            xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+  <prefpane id="pane1" label="&pane1.title;">
+    <preferences>
+      <preference id="pref1" name="pref.name" type="bool"/>
+    </preferences>
+
+   .. UI elements that refer to the preferences above, e.g.:
+    <checkbox id="check1" preference="pref1"
+              label="&check1.label;" accesskey="&check1.accesskey;"/>
+  </prefpane>
+
+  <prefpane id="pane2" label="&pane2.title;" src="chrome://uri/to/pane.xul"/>
+</prefwindow>
+
+ +

Pane content can be specified inline or an external chrome URI supplied for pane content to be loaded in via a dynamic overlay. You should be careful to read the HIGs for the platforms you are targeting and use the XUL preprocessor if necessary to set different window titles as appropriate. You should also be careful to specify the width of the window (in em) as appropriate using the preprocessor for each targeted platform, as well as the height (in em) for platforms where the window size does not change as the selected panel is changed (e.g. Windows).

+ +

Usage in XULRunner applications

+ +

When calling openDialog() to open a preferences dialog, "toolbar" should be included in the features string.  Not using "toolbar" will cause the preferences dialog to only display one preference pane.

+ +

Example:

+ +
var features = "chrome,titlebar,toolbar,centerscreen,modal";
+window.openDialog(url, "Preferences", features);
+
+ +

Bugzilla

+ +

The component for bugs in the Preferences bindings (but not in Firefox/Thunderbird Options UI) is Toolkit:Preferences (file a bug list open bugs)

-- cgit v1.2.3-54-g00ecf