JS властивість Document.applets
Загальний опис
Властивість applets
об'єкта Document
забезпечує доступ до колекції всіх аплетів (застарілі елементи <applet>
), які включені до HTML-документа. Хоча елемент <applet>
був офіційно визнаний застарілим і видалений зі специфікацій HTML5 через безпекові проблеми та обмежену підтримку в сучасних веб-переглядачах, властивість applets
залишається частиною Документаційного Об'єктового Моделю (ДОМ) для забезпечення сумісності зі старими веб-документами.
Хоча сучасні веб-додатки рідко, якщо взагалі коли-небудь, використовують елемент <applet>
, розуміння властивості applets
може бути корисним при роботі з існуючими веб-сторінками, які ще не були оновлені або при аналізі легасі коду. Властивість applets
повертає HTMLCollection, яка є "живою" колекцією, автоматично оновлюючись при додаванні або видаленні аплетів з документа.
Розглянемо базовий приклад використання властивості applets
. Припустимо, що потрібно отримати кількість аплетів на веб-сторінці та вивести цю інформацію у консоль:
console.log("Кількість аплетів на сторінці: " + document.applets.length);
Цей код ефективно використовує властивість applets
для доступу до колекції аплетів і виводить загальну кількість аплетів, знайдених у документі. Однак, з огляду на застарілу природу елемента <applet>
, такий випадок використання є вкрай рідкісним у сучасній веб-розробці.
На практиці властивість applets
може бути використана для скриптів, які виконують аудит або міграцію існуючих веб-документів. Наприклад, скрипт може перебирати всі аплети в документі, замінюючи їх на сучасні веб-технології, такі як HTML5 Canvas або WebGL, для імітації схожої функціональності:
Array.from(document.applets).forEach(applet => {
// Логіка заміни аплета на сучасний еквівалент
});
Незважаючи на те, що властивість applets
залишається частиною JavaScript API, її практичне застосування сьогодні обмежене через застарілу природу самого елемента <applet>
. Розробники повинні зосередитися на сучасних веб-стандартах і технологіях для створення інтерактивних і безпечних веб-додатків. Водночас, знання про існування та потенційні застосування властивості applets
може бути корисним при роботі з старим кодом або при виконанні завдань з міграції веб-контенту до сучасних технологічних стандартів.
Порада: | Якщо ви працюєте над існуючим проєктом, де використовується |
Порада: | Для доступу до колекції аплетів на сторінці через |
Порада: | Хоча використання аплетів є застарілим, розуміння властивості |
Синтаксис
Document.applets
Значення
Return
Переглядачі
Переглядач | |||||
---|---|---|---|---|---|
1 |
1 |
1 |
12.1 |
12 |
Переглядач | ||||
---|---|---|---|---|
4.4 |
18 |
4 |
1 |
Переглядач | ||
---|---|---|
- |
- |
Приклади
Цей приклад надає інтерактивну демонстрацію, що дозволяє користувачам "додавати" імітовані аплети на сторінку і відображати їх кількість. Зазначимо, що реальне використання document.applets
у сучасному веб-розробленні є застарілим, і цей приклад слугує лише для демонстрації концепції.
У цьому прикладі ми використовуємо властивість document.applets
для перевірки, чи містить веб-сторінка аплети Java.
// Перевіряємо, чи є на сторінці аплети
if (document.applets.length > 0) {
console.log("На сторінці присутні аплети Java.");
} else {
console.log("Аплети Java на сторінці відсутні.");
}
У цьому складнішому прикладі ми показуємо, як можна видалити всі аплети з веб-сторінки за допомогою document.applets
. Оскільки пряме видалення об'єктів з колекції, що повертається document.applets
, може бути небезпечним через зміну індексації при видаленні, ми використовуємо підхід, що уникає цієї проблеми.
Ми перебираємо колекцію аплетів у зворотньому порядку, щоб безпечно видалити кожен аплет без ризику порушити індексацію колекції. Це може бути корисним у сценаріях, де необхідно динамічно очистити сторінку від застарілих аплетів без перезавантаження сторінки.
// Отримуємо список аплетів
var applets = document.applets;
// Видаляємо аплети з документа
for (var i = applets.length - 1; i >= 0; i--) {
applets[i].parentNode.removeChild(applets[i]);
}
console.log("Всі аплети були успішно видалені з документа.");