-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
translation(Glossary): glossary/polyfill (#2811)
* translation(glossary): glossary/polyfill * update(glossary): glossary/polyfill
- Loading branch information
Showing
2 changed files
with
21 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
--- | ||
title: Поліфіл | ||
slug: Glossary/Polyfill | ||
page-type: glossary-definition | ||
--- | ||
|
||
{{GlossarySidebar}} | ||
|
||
Поліфіл – це уривок коду (у Вебі зазвичай це JavaScript), що застосовується для додавання сучасної можливості в старі браузери, що не мають її нативної підтримки. | ||
|
||
Наприклад, поліфіл може використовуватися для імітації можливості {{cssxref("text-shadow")}} в IE7 за допомогою пропрієтарних фільтрів IE, або імітації одиниці вимірювання rem чи медійних засобів – засобами JavaScript, щоб динамічно припасовувати оформлення відповідним чином, або імітації ще якихось можливостей. | ||
|
||
Причина того, що всі не користуються суто можливостями з поліфілів, полягає в особливостях цих можливостей і їхній швидкодії. Нативні реалізації API здатні на більше та є швидшими за поліфіли. Наприклад, [поліфіл Object.create](/uk/docs/Web/JavaScript/Reference/Global_Objects/Object/create#dyvitsia-takozh) містить лише ті можливості, які можливо реалізувати при ненативній реалізації Object.create. | ||
|
||
В інших випадках поліфіли використовуються для вирішення розбіжностей між реалізаціями одних і тих же можливостей в різних браузерах у різний спосіб. Поліфіли користуються нестандартними можливостями одного з браузерів, щоб дати JavaScript інтерфейс можливості, що відповідає стандартам. Попри те, що нині ця причина для додавання поліфілів зустрічається дуже рідко, вона переважала особливо в часи IE6 і Netscape, коли кожний браузер мав вельми особливу реалізацію JavaScript. [Перша версія jQuery](https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.js) була раннім прикладом поліфілу. По суті це було зібрання вивертів для різних браузерів, щоб надати розробникам на JavaScript єдиний спільний API, що працював би у всіх браузерах. В ті часи розробники на JavaScript мали суттєві проблеми при намаганні змусити вебсайт працювати на різних пристроях, тому що між браузерами були такі розбіжності, що вебсайт міг потребувати радикально різного програмування та мати суттєво відмінний користувацький інтерфейс у різних браузерах. Таким чином, розробник на JavaScript мав доступ лишень до дрібної жмені API JavaScript, які працювали більш-менш стало в усіх браузерах. Використання поліфілів для роботи з особливостями різних браузерів нині менш поширене, тому що сучасні браузери здебільшого реалізують широкий набір API, відповідно до стандартних семантик. | ||
|
||
## Дивіться також | ||
|
||
- [Що таке поліфіл?](https://remysharp.com/2010/10/08/what-is-a-polyfill) (стаття Ремі Шарпа, автора терміну "поліфіл") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters