Dlaczego ramki zostały usunięte w HTML5, ale nie z iFrame? W końcu nie ma między nimi prawie żadnej różnicy. W wielu przypadkach użycie któregokolwiek z nich dałoby ten sam wynik (przepraszam, jeśli się mylę)?

Komentarze

Odpowiedź

W Twoim poście jest kilka nieporozumień. Po pierwsze, frame i frameset nie są wycofywane w HTML5, są „re przestarzałe (tj. zostały całkowicie usunięte).

Po drugie, frame i

elementy nie są tym samym, co element iframe, ani też nie dają tego samego wyniku:

  • Element frameset zastępuje element body na stronach, aby uwzględnić inny model dokumentu dla stron internetowych: „szkodzą one użyteczności i dostępności oraz ich zamierzeniom do wykonania zostały całkowicie zastąpione przez CSS i wszechobecny programowanie po stronie serwera.

  • Z drugiej strony element iframe nie nie zastępuje treści strony. Działa jako środek do włączenia nowego kontekstu przeglądania osadzonego w bloku treści. Nie ma takich samych problemów z użytecznością ani dostępnością jak model zestawu ramek i jest używany prawie wszędzie, gdzie trzeba uwzględnić osadzony kontekst przeglądania (widżety są najpowszechniejszym przykładem). 1

iframe w HTML5 ma również dodatkowe funkcje, ponieważ może być piaskownicą , pozwalając dokumentowi nadrzędnemu zdecydować, co zostanie w nim wykonane. Pozwala to na pewien stopień bezpieczeństwa dokumentu nadrzędnego (i osób odwiedzających dokument nadrzędny) podczas osadzania niezaufanej zawartości.


Uwagi

Uwaga 1: element object w pewnym stopniu pokrywa się z elementem iframe, ale ma inny model treści (przeznaczony głównie dla wtyczek), ma swój własny zestaw zastrzeżeń i nie ma atrybutów piaskownicy, które posiada element iframe.

Komentarze

  • Dlaczego elementy zestawu ramek są złe dla " użyteczności " i " dostępności " ale elementy iframe nie są ' t?
  • @meriton Zestaw ramek tworzy stronę z wielu dokumentów, wszystkie z ten sam priorytet: powoduje to wyzwania dla czytników ekranu , które nie wiedzą, na którym dokumencie się skupić w danym momencie. Z drugiej strony elementy ramek są po prostu osadzane na jednej stronie: to ' nie różni się niczym od umieszczenia obrazu.
  • Wyzwania dla czytników ekranu: Wszyscy niewidomi, z którymi rozmawiałem, powiedzieli, że wolą, aby nawigacja utknęła w oddzielnej ramce (nie iFrame), ponieważ mogą ją zignorować i odczytać im tylko wtedy, gdy chcą. Prawdziwym winowajcą czytników ekranu jest Javascript i AJAX, co sprawia, że strony są całkowicie bezużyteczne dla obecnych czytników ekranu (cóż, moje informacje mają około 10 miesięcy). Potwierdzają to moje osobiste doświadczenia z czytnikami ekranu.
  • Ja ' zastanawiałem się, czy wiele z 2005 roku ' s często rekwotowane potwierdzenia dostępności nie ' nie były spóźnione na aktualizację. Dzięki za sprzeciw w tej sprawie.
  • @GlenPeterson ten sam efekt bez elementu ramki można osiągnąć za pomocą CSS, aby naprawić element bloku w widoku. Oto JAK należy to zrobić, jeśli chcesz mieć taką nawigację. Ma to większy sens.

Odpowiedź

Zestawy ramek są często używane w sposób, w którym łamią podstawową zasadę Internet – że każdy dokument ma jeden adres URL. Prowadzi to do problemów z linkami, zakładkami, wyszukiwarkami itp.

Typowym zastosowaniem zestawu ramek jest ramka u góry z logo lub nagłówkiem, ramka z boku z menu i ramka treści. Ale wyszukiwarki indeksują poszczególne strony, więc kiedy znajdziesz jakąś stronę w Google, będzie to link bezpośrednio do strony z treścią bez zestawu ramek, więc tracisz nawigację.Problem z łączami i zakładkami polega na tym, że zazwyczaj chcesz utworzyć łącze lub zakładkę do określonej strony z treścią wewnątrz zestawu ramek, bez utraty samego zestawu ramek. Nie jest to łatwy sposób.

Przyczyną popularności zestawów ramek było przede wszystkim to, że zezwalały na statycznie pozycjonowany nagłówek i menu z przewijanym obszarem zawartości. Ale dziś można to osiągnąć znacznie łatwiej dzięki CSS. Ponadto ramki umożliwiały używanie wspólnych elementów, takich jak logo i menu, na wielu stronach bez stosowania kodowania po stronie serwera. Była to zaleta w czasach, gdy kodowanie po stronie serwera było żmudne i podatne na błędy (np. Skrypty CGI), a wiele hostów w ogóle nie pozwalało na wykonywanie skryptów po stronie serwera. Dzisiaj z systemami zarządzania treścią (CMS) i lepszymi po stronie serwera platformy, jest to o wiele lepiej obsługiwane po stronie serwera.

Zasadniczo nie ma żadnych korzyści z używania zestawu ramek, tylko wiele problemów.

Ramki iFrames mogą być używane w taki sam sposób, w jaki były używane zestawy ramek, iw tym przypadku prowadzą one również do tych samych problemów. Jednak istnieje również wiele legalnych zastosowań ramek iframe, które nie prowadzą do tych samych problemów.

Odpowiedź

Ramki (zestaw ramek) działa jak dokument. Zostają usunięte, ponieważ naruszają strukturę i nawigację w dokumentach HTML. Na przykład. masz linki w jednej ramce, zawartość w drugiej, nie możesz otworzyć linku ze strony w nowym oknie, nie możesz utworzyć linku do określonej podstrony, itp.

Z drugiej elementy iframe ręki nie zepsują niczego, jeśli są używane poprawnie, ponieważ są przeznaczone do zawartości piaskownicy (np. reklam).

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *