0Pricing
HTML Academy · Lekcja

Elementy embed i object

Osadzanie wtyczek i treści zastępczej za pomocą embed i object

Elementy embed i object to bezpłatna lekcja HTML Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej HTML Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs HTML Academy zawiera 4 lekcji w sumie.

Element embed

<embed> osadza zewnętrzną treść za pomocą wtyczki przeglądarki lub wbudowanego mechanizmu obsługi przeglądarki. Jego atrybut type określa typ MIME, a src — adres URL zasobu. Jest to element pusty, bez elementów potomnych i treści zastępczej.

Element object

<object> jest bardziej elastyczny niż embed. Jego atrybut data wskazuje zasób, a type określa typ MIME. Elementy potomne służą jako treść zastępcza, jeśli obiektu nie można załadować — może to być zagnieżdżony obiekt lub opisowy tekst.

Treść zastępcza w object

Proszę zagnieździć treść zastępczą: <object data="file.pdf" type="application/pdf"><a href="file.pdf">Download PDF</a></object>. Jeśli przeglądarka nie może wyświetlić pliku PDF bezpośrednio, pokazuje zamiast niego link pobierania. Treść zastępcza jest główną przewagą object nad embed.

Osadzanie plików PDF

Pliki PDF można osadzać za pomocą object lub embed: <object data="doc.pdf" type="application/pdf" width="100%" height="600">. Obsługa różni się między przeglądarkami — Chrome i Firefox wyświetlają pliki PDF natywnie, a inne przeglądarki mogą wyświetlić monit pobierania. Proszę zapewnić link zastępczy.

iframe a object i embed

Do osadzania dokumentów HTML proszę preferować iframe (zaprojektowany do tego celu, z przejrzystym modelem bezpieczeństwa). W przypadku wtyczek multimedialnych można użyć embed (starszy Flash, renderowanie SVG). W przypadku dokumentów wymagających treści zastępczej należy użyć object. We współczesnym programowaniu większość zastosowań wtyczek obsługują natywne elementy HTML5 (video, audio, canvas).

Kwestie bezpieczeństwa

Zarówno embed, jak i object mogą wykonywać treści wtyczek (historycznie na przykład Flash), co stanowi istotną powierzchnię ataku. Nowoczesne przeglądarki usunęły obsługę wtyczek. Należy osadzać wyłącznie zaufane treści. Treści cross-origin osadzone przez embed lub object nie mogą być obsługiwane skryptami tak jak treści z tego samego originu.

SVG za pomocą object

SVG można osadzić za pomocą object: <object data="image.svg" type="image/svg+xml" width="200" height="200">. W przeciwieństwie do elementu img kod SVG wewnątrz object może wykonywać własne skrypty i reagować na zewnętrzny CSS (jeśli pochodzi z tego samego originu). Warto użyć tego rozwiązania w przypadku interaktywnego SVG, gdy osadzenie SVG bezpośrednio w dokumencie jest niepraktyczne.

Elementy param

Parametry do wtyczki object przekazuje się za pomocą zagnieżdżonych elementów <param name="autoplay" value="true">. Był to standardowy sposób konfigurowania obiektów Flash. Obecnie używa się go rzadko, ponieważ przeglądarki usunęły obsługę wtyczek.

usemap dla map obrazów

object może współpracować z usemap w celu tworzenia map obrazów — klikalnych obszarów na osadzonym obrazie. Obszary należy zdefiniować w elemencie <map> za pomocą elementów potomnych <area>. Nowoczesne SVG z href na elementach jest lepszym rozwiązaniem dla interaktywnych obszarów obrazu.

Dostępność

Proszę dodać atrybut title zarówno do embed, jak i object, aby ułatwić ich identyfikację przez czytniki ekranu. object obsługuje aria-label. Żaden z tych elementów nie zapewnia tak rozbudowanych semantycznych informacji dotyczących dostępności jak natywne elementy HTML5. W przypadku treści multimedialnych zawsze preferowane są natywne elementy video i audio z napisami.

Elementy starsze i nowoczesne

embed i object są w dużej mierze elementami starszego typu. Ich główne zastosowanie (Flash) zniknęło. Obecnie uzasadnione zastosowania obejmują osadzanie dokumentów PDF bezpośrednio w stronie (z treścią zastępczą), osadzanie interaktywnego SVG oraz starsze treści, których nie można zmodernizować. W nowych projektach do wszystkich zastosowań multimedialnych należy preferować natywne elementy HTML5.

Sprawdzenie wiedzy

Jaka jest główna zaleta używania object zamiast embed w przypadku osadzanej treści?

Podsumowanie

embed i object to starsze elementy służące do osadzania treści innych niż HTML. object jest preferowany, gdy potrzebna jest treść zastępcza. Oba elementy obsługują określanie typów MIME i przekazywanie parametrów. W nowych projektach preferowane są nowoczesne odpowiedniki (video, audio, canvas, SVG osadzone bezpośrednio w dokumencie). Osadzanie plików PDF za pomocą object pozostaje częstym zastosowaniem, a alternatywę stanowi iframe.

Często zadawane pytania

Czy lekcja „Elementy embed i object” jest bezpłatna?

Tak — pełny tekst „Elementy embed i object” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu HTML Academy, przejdź na CoddyKit PRO. Kurs HTML Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Elementy embed i object”?

Osadzanie wtyczek i treści zastępczej za pomocą embed i object Ćwiczysz HTML Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć HTML Academy?

Nie wymagamy żadnego doświadczenia. HTML Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „Elementy embed i object”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji HTML Academy?

Tak. Każda lekcja HTML Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Element iframe — src i sandbox
  2. Bezpieczeństwo iframe — clickjacking i X-Frame-Options
  3. Elementy embed i object
  4. Leniwe ładowanie iframe
← Powrót do HTML Academy