<object> w HTML to uniwersalny kontener służący do osadzania zewnętrznych zasobów w dokumencie, takich jak multimedia, strony internetowe, obrazy lub aplikacje uruchamiane jako wtyczki. Jego elastyczność pozwala określić typ oraz zachowanie osadzanego zasobu poprzez dedykowane atrybuty.
Zastosowanie <object>
Tag <object> umożliwia wstawianie zewnętrznych plików i interaktywnych aplikacji bezpośrednio na stronie. Aktualnie najczęściej jest wykorzystywany do:
- Osadzania plików multimedialnych (np. filmów, plików PDF);
- Wyświetlania aplikacji osadzonych (legacy – np. stare pluginy przeglądarkowe);
- Tworzenia uniwersalnego kontenera z możliwością definiowania zawartości alternatywnej (fallback).
Budowa znacznika
Podstawowa składnia:
<object data="ścieżka/do/zasobu.typ" type="typ/mime" width="szerokość" height="wysokość"> Zawartość alternatywna — wyświetli się, jeśli zasób nie może zostać załadowany </object>
Najważniejsze atrybuty:
- data – ścieżka lub URL do zasobu (np. plik wideo, obraz, dokument PDF);
- type – typ MIME określający, jak treść ma być interpretowana (np.
video/mp4,application/pdf); - width, height – szerokość i wysokość osadzanego zasobu;
- name – identyfikator obiektu (np. do odniesienia w skryptach);
- form – jeśli element jest częścią formularza, atrybut pozwala określić do którego formularza należy;
- classid, codebase – historyczne, do starych pluginów (praktycznie nieużywane obecnie).
Przykłady użycia
Osadzenie pliku PDF
<object data="dokument.pdf" type="application/pdf" width="600" height="400"> Dokument PDF nie został załadowany. <a href="dokument.pdf">Pobierz plik</a>. </object>
W przypadku braku wsparcia dla <object>, wyświetli się link do pobrania pliku.
Osadzenie filmu wideo
<object data="film.mp4" type="video/mp4" width="480" height="320"> <img src="zapasowe-zdjecie.jpg" alt="Zapasowe zdjęcie lub komunikat"> </object>
W przypadku braku wsparcia dla wideo, użytkownik zobaczy wskazany obraz lub tekst.
Osadzenie innej strony HTML
<object data="fragment.html" width="400" height="300"> Nie udało się załadować zawartości. </object>
Tym sposobem można wyświetlić zawartość innej strony lub fragmentu strony.
Przekazywanie parametrów (dla legacy pluginów)
<object data="aplikacja.swf" type="application/x-shockwave-flash" width="300" height="200"> <param name="movie" value="aplikacja.swf"> <param name="quality" value="high"> Alternatywna treść </object>
Parametry przekazywane są przez podznaczniki <param>. Tego typu integracje są już bardzo rzadko spotykane ze względu na ograniczone wsparcie w nowoczesnych przeglądarkach.
Rekomendacje i ograniczenia
- Osadzanie obrazów – stosuj raczej
<img>, a nie<object>; - Osadzanie dokumentów HTML – lepszym rozwiązaniem jest
<iframe>; - Wideo i audio – współczesne HTML oferuje dedykowane znaczniki
<video>i<audio>.
<object> pozostaje narzędziem uniwersalnym, ale w praktyce specjalizowane znaczniki zapewniają lepszą kompatybilność i funkcjonalność.
Dodatkowe uwagi
- Współczesne przeglądarki nie obsługują już większości dawnych pluginów (Java, Flash, ActiveX),
- alternatywna treść w środku
<object>jest kluczowa ze względów dostępności – powinna jasno informować o funkcji i ewentualnie oferować link do zasobu, <object>umożliwia zagnieżdżanie – można osadzić w nim również inne elementy i znaczniki HTML jako treść alternatywną.
Podsumowując – <object> w HTML to wszechstronny kontener do osadzania zewnętrznych zasobów i aplikacji, wykorzystywany najczęściej tam, gdzie wymagane jest przekazanie zawartości zapasowej lub interakcji z plikami PDF, dokumentami czy multimediami poza standardowymi tagami. Znajomość jego możliwości i ograniczeń podnosi jakość oraz dostępność nowoczesnych stron internetowych.