diff options
Diffstat (limited to 'files/pl/web/html/element/iframe/index.html')
-rw-r--r-- | files/pl/web/html/element/iframe/index.html | 292 |
1 files changed, 292 insertions, 0 deletions
diff --git a/files/pl/web/html/element/iframe/index.html b/files/pl/web/html/element/iframe/index.html new file mode 100644 index 0000000000..19d9e9404e --- /dev/null +++ b/files/pl/web/html/element/iframe/index.html @@ -0,0 +1,292 @@ +--- +title: '<iframe>: Element ramki iframe' +slug: Web/HTML/Element/iframe +tags: + - Element + - Frames + - HTML + - Inline Frames + - Reference + - Web + - iframe + - osadzanie + - osadzony + - ramki + - treść osadzana HTML + - treść osadzona +translation_of: Web/HTML/Element/iframe +--- +<div>{{HTMLRef}}</div> + +<p><span class="seoSummary"><strong>Element ramki Iframe HTML (<code><iframe></code>)</strong> reprezentuje zagnieżdżony {{Glossary("browsing context")}} poprzez osadzanie innej strony HTML w aktualnej.</span></p> + +<div>{{EmbedInteractiveExample("pages/tabbed/iframe.html", "tabbed-standard")}}</div> + +<div class="hidden">Źródło niniejszego przykładu interaktywnego znajduje się w repozytorium na GitHubie. Jeśli chcesz mieć swój udział w tworzeniu tego przykładu, sklonuj <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples </a> i wyślij nam żądanie pull.</div> + +<p>Każdy osadzony, przeglądarkowy kontekst posiada własną <a href="/en-US/docs/Web/API/History">historię sesji</a> i interfejs <a href="/en-US/docs/Web/API/Document">document</a>. Kontekst przeglądarkowy, który umożliwia osadzanie innych stron nazywany jest <em>przeglądarkowym kontekstem-rodzicem </em>(<em><dfn>parent</dfn> browsing context</em>). <em>Najwyższy</em> kontekst przeglądarki — nieposiadający rodzica — to przeważnie okno przeglądarki reprezentowane przez objekt {{domxref("Window")}}.</p> + +<div class="blockIndicator warning"> +<p>Ponieważ każdy kontekt przeglądarkowy jest kompletnym środowiskiem dokumentu, każdy <code><iframe></code> na stronie wymaga zwiększenia pamięci i innych zasobów komputera. Teoretycznie możesz używać tyle <code><iframe></code>ów, ile sobie zamarzysz - sprawdź jednak, czy nie występują problemy z wydajnością.</p> +</div> + +<table class="properties"> + <tbody> + <tr> + <th scope="row"><a href="/en-US/docs/Web/HTML/Content_categories">Kategorie kontentu</a></th> + <td><a href="/en-US/docs/Web/HTML/Content_categories#Flow_content">Treści płynne (flow content)</a>, <a href="/en-US/docs/Web/HTML/Content_categories#Phrasing_content">treści frazujące (phrasing content)</a>, treści osadzone, treści interaktywne, treści namacalne (palpable content).</td> + </tr> + <tr> + <th scope="row">Dozwolone treści</th> + <td>Brak.</td> + </tr> + <tr> + <th scope="row">Pominięcie tagu</th> + <td>{{no_tag_omission}}</td> + </tr> + <tr> + <th scope="row">Dozwoleni rodzice</th> + <td>Każdy element, który akceptuje treści osadzone.</td> + </tr> + <tr> + <th scope="row">Dozwolone role ARIA</th> + <td>{{ARIARole("application")}}, {{ARIARole("document")}}, {{ARIARole("img")}}</td> + </tr> + <tr> + <th scope="row">Interfejs DOM</th> + <td>{{domxref("HTMLIFrameElement")}}</td> + </tr> + </tbody> +</table> + +<h2 id="Atrybuty">Atrybuty</h2> + +<p>Ten element zawiera <a href="/en-US/docs/Web/HTML/Global_attributes">atrybuty globalne</a>.</p> + +<dl> + <dt>{{htmlattrdef("allow")}}</dt> + <dd>Określa <a href="/en-US/docs/Web/HTTP/Feature_Policy">reguły funkcji</a> dla <code><iframe></code>.</dd> + <dt>{{htmlattrdef("allowfullscreen")}}</dt> + <dd>Ustawiony na <code>true</code>, jeśli <code><iframe></code>może aktywować tryb na pełen ekran poprzez wywołanie metody {{domxref("Element.requestFullscreen", "requestFullscreen()")}}.</dd> + <dd> + <div class="note">Ten atrybut jest uznawany za przestarzały i przedefiniowany na <code>allow="fullscreen"</code>.</div> + </dd> + <dt>{{htmlattrdef("allowpaymentrequest")}}</dt> + <dd>Ustawiony na <code>true</code>, jeśli cross-originowy <code><iframe></code> powinien być dopuszczony do wywoływania <a href="/en-US/docs/Web/API/Payment_Request_API">Żądania Płatności (Payment Request) API</a>.</dd> + <dd> + <div class="note">Ten atrybut jest uznawany za przestarzały i przedefiniowany na <code>allow="payment"</code>.</div> + </dd> + <dt>{{htmlattrdef("csp")}} {{experimental_inline}}</dt> + <dd><a href="/en-US/docs/Web/HTTP/CSP">Content Security Policy</a> wymuszone dla zasobów osadzonych. Po więcej informacji sprawdź {{domxref("HTMLIFrameElement.csp")}}.</dd> + <dt>{{htmlattrdef("height")}}</dt> + <dd>Wysokość ramki w pikselach CSS. Domyślna wartość to <code>150</code>.</dd> + <dt id="name-attribute">{{htmlattrdef("importance")}} {{experimental_inline}}</dt> + <dd>Priorytet pobierania źródła w <code><iframe></code>'owym atrybucie <code>src</code>. Dopuszczone wartości: + <dl> + <dt><code>auto</code> (domyślna)</dt> + <dd>Bez preferencji. Przeglądarka używa własnych heurytystyk do decydowania o pierwszeństwie zasobu.</dd> + <dt><code>high</code></dt> + <dd>Zasób powinien zostać pobrany przed innymi zasobami stron o niższym priorytecie.</dd> + <dt><code>low</code></dt> + <dd>Zasób powinien zostać pobrany po innych zasobach stron o wyższym priorytecie.</dd> + </dl> + </dd> + <dt>{{htmlattrdef("loading")}} {{experimental_inline}}</dt> + <dd>Wskazuje, jak przeglądarka powinna ładować iframe: + <ul> + <li><code>eager</code>: Załaduj iframe niezwłocznie, niezależnie czy jest poza widocznym oknem podglądu (jest to wartość domyślna).</li> + <li><code><font face="consolas, Liberation Mono, courier, monospace">lazy</font></code>: Wstrzymaj ładowanie iframe póki nie osiągnie obliczonej odległości od okna podglądu, zgodnie z definicją przeglądarki.</li> + </ul> + </dd> + <dt>{{htmlattrdef("name")}}</dt> + <dd>Docelowa nazwa dla osadzonego kontektu przeglądarkowego. Może być używana w atrybucie <code>target</code> elementów {{HTMLElement("a")}}, {{HTMLElement("form")}} czy {{HTMLElement("base")}}; atrybut <code>formtarget</code> elementów {{HTMLElement("input")}} lub {{HTMLElement("button")}}; czy parametr <code>windowName</code> w metodzie {{domxref("Window.open()","window.open()")}}.</dd> + <dt id="attr-referrer">{{htmlattrdef("referrerpolicy")}}</dt> + <dd>Wskazuje, którego <a href="/en-US/docs/Web/API/Document/referrer">polecającego</a> wysłać podczas przechwytywania zasobów ramki: + <ul> + <li><code>no-referrer</code>: Nagłówek {{HTTPHeader("Referer")}} nie zostanie wysłany.</li> + <li><code>no-referrer-when-downgrade</code> (domyślny): Nagłówek {{HTTPHeader("Referer")}} nie zostanie wysłany do {{Glossary("origin")}}ów bez {{Glossary("TLS")}} ({{Glossary("HTTPS")}}).</li> + <li><code>origin</code>: Wysłany polecający zostanie ograniczony do originu strony odsyłającej: jej <a href="/en-US/docs/Archive/Mozilla/URIScheme">schematu</a>, {{Glossary("host")}}u, i {{Glossary("port")}}u.</li> + <li><code>origin-when-cross-origin</code>: Polecający wysłany do innych originów zostanie ograniczony do schematu, hostu i portu. Nawigacje o tym samym originie będą nadal zawierać ścieżkę.</li> + <li><code>same-origin</code>: Polecający zostanie wysłany przy {{Glossary("Same-origin policy", "same origin")}}, ale żądania cross-origin nie będą zawierać informacji polecającego.</li> + <li><code>strict-origin</code>: Wyśle origin dokumentu jako polecający tylko, gdy poziom bezpieczeństwa protokołu jest ten sam (HTTPS→HTTPS), nie wyśle do miejsca docelowego, jeśli jest mniej bezpieczne (HTTPS→HTTP).</li> + <li><code>strict-origin-when-cross-origin</code>: Wyśle pełen URL w przypadku żądania same-origin, wyśle origin tylko, jeśli poziom bezpieczeństwa protokołu jest ten sam (HTTPS→HTTPS) i nie wyśle nagłówka, jeśli miejsce docelowe jest mniej bezpieczne (HTTPS→HTTP).</li> + <li><code>unsafe-url</code>: Polecający będzie zawierać origin <em>oraz</em> ścieżkę (ale nie <a href="/en-US/docs/Web/API/HTMLHyperlinkElementUtils/hash">fragment</a>u, <a href="/en-US/docs/Web/API/HTMLHyperlinkElementUtils/password">hasła</a> czy <a href="/en-US/docs/Web/API/HTMLHyperlinkElementUtils/username">nazwy użytkownika</a>). <strong>Ta wartość nie jest bezpieczna</strong>, ponieważ pozwala na wyciek originów i ścieżek z zasobów chronionych TLS do originów niebezpiecznych.</li> + </ul> + </dd> + <dt>{{htmlattrdef("sandbox")}}</dt> + <dd>Stosuje dodatkowe restrykcje wobec treści ramce. Wartość atrybutu może pozostać pusta (obowiązywać będą wszystkie restrykcje) lub tokeny odseprowane spacją, aby wymusić określone restrykcje: + <ul> + <li><code>allow-downloads-without-user-activation</code> {{experimental_inline}}: Zezwala na pobieranie bez zatwierdzenie przez użytkownika.</li> + <li><code>allow-forms</code>: Zezwala zasobom na zatwierdzanie formularzy. Jeśli niniejsze słowo kluczowe nie zostaje użyte, zatwierdzanie formularzy jest zablokowane.</li> + <li><code>allow-modals</code>: Pozwala zasobom na <a href="https://html.spec.whatwg.org/multipage/origin.html#sandboxed-modals-flag">otwieranie okienek modalnych</a>.</li> + <li><code>allow-orientation-lock</code>: Pozwala zasobom na <a href="/en-US/docs/Web/API/Screen/lockOrientation">zablokowanie orientacji wyświetlacza</a>.</li> + <li><code>allow-pointer-lock</code>: Pozwala zasobom na używanie <a href="/en-US/docs/WebAPI/Pointer_Lock">Pointer Lock API</a>.</li> + <li><code>allow-popups</code>: Pozwala na wyskakujące okienka/otwieranie kart (jak np. <code>window.open()</code>, <code>target="_blank"</code> czy <code>showModalDialog()</code>). Jeśli niniejsze słowo kluczowe nie zostaje użyte, popupy nie zostaną otwarte.</li> + <li><code>allow-popups-to-escape-sandbox</code>: Pozwala dokumentowi w piaskownicy (sandbox) na otwieranie nowych okien bez dziedziczenia przez nie sandboxingu. Dzięki temu możliwe jest np. sandboxowanie reklamy bez wymuszania tej samej restrykcji na stronie, do której prowadzi link z tej reklamy.</li> + <li><code>allow-presentation</code>: Pozwala zasobom uruchomić <a href="/en-US/docs/Web/API/PresentationRequest">sesję prezentacji</a>.</li> + <li><code>allow-same-origin</code>: Jeśli ten token nie jest użyty, zasób jest traktowany jako pochodzący ze specjalnego źródła, które nie spełnia wymogów {{Glossary("same-origin policy")}}.</li> + <li><code>allow-scripts</code>: Pozwala zasobom na uruchomienie skryptów (ale nie na tworzenie wyskakujących okienek).</li> + <li><code>allow-storage-access-by-user-activation</code> {{experimental_inline}}: Pozwala zasobom na żądanie dostępu do pamięci masowej rodzica poprzez <a href="/en-US/docs/Web/API/Storage_Access_API">Storage Access API</a>.</li> + <li><code>allow-top-navigation</code>: Pozwala zasobom na nawigację kontekstu najwyższego poziomu przeglądarki (<code>_top</code>).</li> + <li><code>allow-top-navigation-by-user-activation</code>: Pozwala zasobom na nawigację kontekstu najwyższego poziomu przeglądarki, ale jedynie gdy akcja zainicjowana jest przez gest użytkownika.</li> + </ul> + + <div class="note"><strong>Notka o sandboxingu:</strong> + + <ul> + <li>Jeśli dokument osadzony jest tego samego pochodzenia, jak strona osadzająca <strong>mocno odradza się</strong> używania <code>allow-scripts</code> i <code>allow-same-origin</code>, ponieważ pozwala to osadzonemu dokumentowi na usunięcie atrybutu <code>sandbox</code>, sprawiając tym samym, że jest on tak samo niezabezpieczony, jak dokument nie używający w ogóle atrybutu <code>sandbox</code>.</li> + <li>Sandboxing jest bezużyteczny, jeśli atakujący może wyświetlać zawartość poza sandboxowanym <code>iframe</code> — np. jeśli przeglądarka otwiera ramkę na nowej karcie. Tego typu treść musi zatem być dostarczana z <em>oddzielnego źródła</em>, aby ograniczyć zasięg potencjalnych szkód.</li> + <li>Atrybut <code>sandbox</code> nie jest wspierany w Internet Explorer 9 i wcześniejszych wersjach.</li> + </ul> + </div> + </dd> + <dt>{{htmlattrdef("src")}}</dt> + <dd>URL strony do osadzenia. Użyj wartości <code>about:blank</code> do osadzenia pustej strony, co jest zgodne z polityką <a href="/en-US/docs/Web/Security/Same-origin_policy#Inherited_origins">same-origin</a>. Wiedz, że programowo usuwanie atrybutu src <code><iframe></code>'u (np. poprzez {{domxref("Element.removeAttribute()")}}) powoduje załadowanie <code>about:blank</code> w ramce w Firefoxie (from version 65), przeglądarkach na Chromium i Safari/iOS.</dd> + <dt>{{htmlattrdef("srcdoc")}}</dt> + <dd>Osadzenie treści HTML poprzed nadpisanie atrybutu <code>src</code>. Jeśli przeglądarka nie wspiera atrybutu <code>srcdoc</code>, odwoła się do URL z atrybutu <code>src</code>.</dd> + <dt>{{htmlattrdef("width")}}</dt> + <dd>Szerokość ramki w pikselach CSS. Domyślna wartość to <code>300</code>.</dd> +</dl> + +<h3 id="Nieużywane_atrybuty">Nieużywane atrybuty</h3> + +<p>Poniższe atrybuty są przestarzałe i mogą nie być już dłużej wspierane przez przeglądarki użytkowników. Nie powinno się ich używać przy tworzeniu nowych treści oraz powinno się możliwie usuwać z już istniejących treści.</p> + +<dl> + <dt>{{htmlattrdef("align")}} {{deprecated_inline("html4.01")}}, {{obsolete_inline("html5")}}</dt> + <dd>Wyrównanie elementu z uwzględnieniem kontekstu.</dd> + <dt>{{htmlattrdef("frameborder")}} {{obsolete_inline("html5")}}</dt> + <dd>Wartość <code>1</code> (domyślna) rysuje krawędź wokół tej ramki. Wartość <code>0</code> usuwa krawędź wokół tej ramki, ale zamiast tego rozwiązania do kontroli krawędzi <code><iframe></code> powinno się używać własności CSS {{cssxref("border")}}.</dd> + <dt>{{htmlattrdef("longdesc")}} {{obsolete_inline("html5")}}</dt> + <dd>URL długiego opisu zawartości ramki. Z powodu częstego nadużywania nie jest przydatny w przypadku przeglądarek niewizualnych.</dd> + <dt>{{htmlattrdef("marginheight")}} {{obsolete_inline("html5")}}</dt> + <dd>Rozmiar obszaru mierzony w pikselach pomiędzy zawartością ramki oraz jej górną i dolną krawędzią.</dd> + <dt>{{htmlattrdef("marginwidth")}} {{obsolete_inline("html5")}}</dt> + <dd>Rozmiar obszaru mierzony w pikselach pomiędzy zawartością ramki oraz jej lewą i prawą krawędzią.</dd> + <dt>{{htmlattrdef("scrolling")}} {{obsolete_inline("html5")}}</dt> + <dd>Wskazuje, kiedy przeglądarka powinna zapewnić pasek przewijania dla ramki: + <ul> + <li><code>auto</code>: Tylko, jeśli zawartość ramki jest większa niż jej wymiary.</li> + <li><code>yes</code>: Zawsze pokazuj pasek przewijania.</li> + <li><code>no</code>: Nigdy nie pokazuj paska przewijania.</li> + </ul> + </dd> +</dl> + +<h3 id="Atrybuty_niestandardowe_non-standard_inline">Atrybuty niestandardowe {{non-standard_inline}}</h3> + +<dl> + <dt>{{htmlattrdef("mozbrowser")}} {{non-standard_inline}}</dt> + <dd> + <div class="note">Sprawdź podatności {{bug(1318532)}} WebExtensions w Firefox.</div> + Sprawia, że <code><iframe></code> zachowuje się jak okienko najwyższego poziomu przeglądarki. Sprawdź <a href="/en-US/docs/Mozilla/Gecko/Chrome/API/Browser_API">Browser API</a> by dowiedzieć się więcej informacji.<br> + <strong>Dostępne tylko dla <a href="/en-US/docs/Mozilla/Add-ons/WebExtensions">WebExtensions</a>.</strong></dd> +</dl> + +<h2 id="Skrypty">Skrypty</h2> + +<p>Ramki, jak elementy {{HTMLElement("frame")}} znajdują się w pseudo-tablicy {{domxref("window.frames")}}.</p> + +<p>Poprzez obiekt DOM {{domxref("HTMLIFrameElement")}}, skrypty zyskują dostęp do obiektu {{domxref("window")}} zasobu w ramce poprzez własność {{domxref("HTMLIFrameElement.contentWindow", "contentWindow")}}. Własność {{domxref("HTMLIFrameElement.contentDocument", "contentDocument")}} odnosi się do <code>document</code> wewnątrz <code><iframe></code>, podobnie jak <code>contentWindow.document</code>.</p> + +<p>Z wnętrzna ramki skrypt może uzyskać odsyłacz do jej okna-rodzica poprzez {{domxref("window.parent")}}.</p> + +<p>Dostęp skryptu do treści ramki stanowi temat {{Glossary("same-origin policy")}}. Skrypty nie mogą uzyskiwać dostępu do większości własności w innych obiektach <code>window</code>, jeśli skrypt został załadowany z innego źródła, w tym skrypty wewnątrz ramki mające dostęp do rodzica ramki. Komunikacja cross-origin może być osiągnięta poprzez użycie {{domxref("Window.postMessage()")}}.</p> + +<h2 id="Pozycjonowanie_i_skalowanie">Pozycjonowanie i skalowanie</h2> + +<p>Jako <a href="/en-US/docs/Web/CSS/Replaced_element">element zastąpiony</a>, pozycjonowanie, wyrównywanie i skalowanie osadzonego dokumentu wewnątrz okna elementu <code><iframe></code> może być określane poprzez właściwości {{cssxref("object-position")}} oraz {{cssxref("object-fit")}}.</p> + +<h2 id="Przykłady">Przykłady</h2> + +<h3 id="Example1" name="Example1">Prosty <code><iframe></code></h3> + +<p><code><iframe></code> w akcji. Po utworzeniu ramki, kiedy użytkownik klika na przycisk jego tytuł jest wyświetlany w alercie.</p> + +<h4 id="HTML">HTML</h4> + +<div id="htmlOutputWrapper"> +<pre class="brush: html"><iframe src="https://mdn-samples.mozilla.org/snippets/html/iframe-simple-contents.html" title="iframe Example 1" width="400" height="300"></iframe></pre> +</div> + +<h4 id="Rezultat">Rezultat</h4> + +<p>{{ EmbedLiveSample('Example1', 640,400)}}</p> + +<h3 id="Example2" name="Example2">Otwórz link w <code><iframe></code> w innej karcie</h3> + +<p>W niniejszym przykładzie mapa Google jest wyświetlana w ramce;</p> + +<h4 id="HTML_2">HTML</h4> + +<pre class="brush: html"><iframe id="Example2" + title="iframe Example 2" + width="400" height="300" + style="border:none" + src="https://maps.google.com/maps?f=q&source=s_q&q=buenos+aires&sll=37.0625,-95.677068&sspn=38.638819,80.859375&t=h&hnear=Buenos+Aires,+Argentina&z=11&ll=-34.603723,-58.381593&output=embed"> +</iframe> +</pre> + +<h4 id="Rezultat_2">Rezultat</h4> + +<p>{{ EmbedLiveSample('Example2', 640, 400)}}</p> + +<h2 id="Obawy_dot._dostępności">Obawy dot. dostępności</h2> + +<p>Osoby poruszające się poprzez technologię wspierającą, jak czytniki ekranowe mogą używać <a href="/en-US/docs/Web/HTML/Global_attributes/title">atrybutu</a> <a href="/en-US/docs/Web/HTML/Global_attributes/title"><code>title</code> </a>na <code>iframe</code>'ie do oznaczania jego treści. Wartość tytułu powinna w zwięzły sposób opisywać osadzoną treść:</p> + +<div id="htmlOutputWrapper"> +<pre class="brush: html"><iframe title="Wikipedia page for Avocados" src="https://en.wikipedia.org/wiki/Avocado"></iframe></pre> +</div> + +<p>Jeśli tytuł nie został określony, wspomniane osoby mogą wchodzić wewnątrz <code>iframe</code>, żeby dowiedzieć się czym dokładniej jest osadzona zawartość. Tego typu zmiana kontekstu może prowadzić do nieporozumień i niepotrzebnie zabierać czas, szczególnie w przypadku stron o wielu <code><iframe></code>'ach i/lub jeśli treść osadzona zawiera interaktywne zasoby, jak video czy audio.</p> + +<h2 id="Specyfikacje">Specyfikacje</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Specyfikacja</th> + <th scope="col">Status</th> + <th scope="col">Komentarz</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('Referrer Policy', '#referrer-policy-delivery-referrer-attribute', 'referrerpolicy attribute')}}</td> + <td>{{Spec2('Referrer Policy')}}</td> + <td>Dodano atrybut <code>referrerpolicy</code>.</td> + </tr> + <tr> + <td>{{SpecName('HTML WHATWG', 'iframe-embed-object.html#the-iframe-element', '<iframe>')}}</td> + <td>{{Spec2('HTML WHATWG')}}</td> + <td></td> + </tr> + <tr> + <td>{{SpecName('HTML5 W3C', 'embedded-content-0.html#the-iframe-element', '<iframe>')}}</td> + <td>{{Spec2('HTML5 W3C')}}</td> + <td></td> + </tr> + <tr> + <td>{{SpecName('HTML4.01', 'present/frames.html#h-16.5', '<iframe>')}}</td> + <td>{{Spec2('HTML4.01')}}</td> + <td></td> + </tr> + <tr> + <td>{{SpecName('Screen Orientation')}}</td> + <td>{{Spec2('Screen Orientation')}}</td> + <td>Dodaje <code>allow-orientation-lock</code> do atrybutu <code>sandbox</code>.</td> + </tr> + <tr> + <td>{{SpecName('Presentation','#sandboxing-and-the-allow-presentation-keyword','allow-presentation')}}</td> + <td>{{Spec2('Presentation')}}</td> + <td>Dodaje <code>allow-presentation</code> do atrybutu <code>sandbox</code></td> + </tr> + </tbody> +</table> + +<h2 id="Zgodność_z_przeglądarkami">Zgodność z przeglądarkami</h2> + +<div class="hidden">Tabela zgodności na tej stronie jest generowana z danych modelowanych. Jeśli chcesz mieć swój udział w tworzeniu, sprawdź <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> i wyślij nam żądanie pull.</div> + +<p>{{Compat("html.elements.iframe", 3)}}</p> |