Атрибут declare тега <object>
Описание
Атрибут declare (устаревший) указывал, что элемент <object> должен быть только объявлен, но не загружен до момента его активации. Это был булевый атрибут, используемый преимущественно с Java-апплетами и ActiveX.
<object classid="java:MyApplet.class" declare>
<param name="param1" value="value1">
<p>Апплет будет загружен только при активации</p>
</object>
Историческое назначение:
| Состояние | Поведение |
|---|---|
С атрибутом declare |
Объект объявлялся, но не загружался |
| Без атрибута | Объект загружался немедленно |
Современная альтернатива:
<!-- Ленивая загрузка медиа -->
<video controls preload="none">
<source src="video.mp4" type="video/mp4">
</video>
<!-- Динамическая загрузка -->
<button onclick="loadComponent()">Загрузить компонент</button>
<div id="componentContainer"></div>
<script>
function loadComponent() {
const container = document.getElementById('componentContainer');
container.innerHTML = '<object data="component.html"></object>';
}
</script>
Критические ограничения:
- Работал только с устаревшими технологиями (ActiveX/Java)
- Не поддерживался единообразно браузерами
- Удален из HTML5-стандарта
- Не имеет практического применения в современном вебе
- Не поддерживается современными браузерами
Примечание: Для отложенной загрузки контента в современных веб-приложениях используйте атрибут loading="lazy" для изображений, preload="none" для медиа или динамическую загрузку через JavaScript.