Proč byly v HTML5 odstraněny rámce, ale ne iFrames? Koneckonců mezi nimi není téměř žádný rozdíl. V mnoha případech by použití kteréhokoli z nich poskytlo stejný výstup (pardon, pokud se mýlím)?
Komentáře
- stackoverflow.com/questions/4263509/…
- děkuji za odkaz, ale co Malý rozdíl mezi těmito dvěma, že prvky iframe nebyly zastaralé.
- Protože rámce byly od samého začátku hrozným nápadem, ale prvky iframe mají několik legitimních případů použití?
- Přetečení zásobníku: " Rámečky zastaralé v HTML5, ale ne iFrames "
Odpověď
Ve vašem příspěvku je několik mylných představ. Nejprve frame
a frameset
nejsou v HTML5 zastaralé, jsou to zastaralé (tj. „Byly zcela odstraněny).
Zadruhé, frame
a
prvky nejsou totéž jako prvek iframe
, ani neposkytují stejný výstup:
-
Prvek
frameset
nahrazuje element těla na stránkách jako prostředek k zahrnutí jiného modelu dokumentu pro webové stránky: jsou špatné z hlediska použitelnosti a přístupnosti a toho, co zamýšlely k dosažení byly zcela nahrazeny CSS a všudypřítomným vývojem na straně serveru. -
Prvek
iframe
na druhé straně ano nenahrazuje tělo stránky. Funguje jako prostředek k zahrnutí nového kontextu procházení vloženého do bloku obsahu. Netrpí stejnými problémy s použitelností nebo přístupností jako model sady rámců a používá se téměř všude, kde je třeba zahrnout vložený kontext procházení (nejplodnějším příkladem jsou widgety). 1
iframe
v HTML5 také přebírá další funkce, protože může být izolován v písku , což umožňuje nadřazenému dokumentu rozhodnout, co se v něm provede. To umožňuje určitou míru zabezpečení nadřazeného dokumentu (a návštěvníků nadřazeného dokumentu) při vkládání nedůvěryhodného obsahu.
Poznámky
Poznámka 1: prvek object
se poněkud překrývá s prvkem iframe
, ale má odlišný obsahový model (který je určen hlavně pro pluginy), má vlastní sadu upozornění a nemá atributy karantény, které prvek iframe
má.
Komentáře
- Proč jsou prvky sady rámců špatné pro " použitelnost " a " přístupnost " ale prvky iframe nejsou ' t?
- @meriton Sada rámců vytvoří stránku z více dokumentů, vše s pomocí stejná priorita: to způsobí výzvy čtenářům obrazovky , kteří neví, na který dokument se mají v konkrétní chvíli zaměřit. I Na druhou stranu prvky rámu jsou jednoduše vloženy do jedné stránky: ' se neliší od vloženého obrázku.
- Výzvy pro čtečky obrazovky: Slepí lidé, se kterými jsem mluvil, všichni řekli, že dávají přednost tomu, aby se navigace zasekla v samostatném rámci (ne iFrame), protože ho mohou ignorovat a nechat si ho přečíst, jen když chtějí. Skutečným viníkem čteček obrazovky jsou Javascript a AJAX, díky nimž jsou stránky s aktuálními čtečkami obrazovky zcela nepoužitelné (moje informace jsou staré asi 10 měsíců). Moje osobní zkušenost s čtečkami obrazovky to podporuje.
- Přemýšlela jsem, jestli hodně z roku 2005 ' s často požadovaná tvrzení o přístupnosti nebyla ' pro aktualizaci zpožděna. Děkujeme za nesouhlas.
- @GlenPeterson stejného efektu bez prvku rámu lze dosáhnout pomocí CSS, aby byl prvek bloku fixován ve výřezu. JAK by to mělo být provedeno, pokud chcete tento druh navigace. Dává to větší smysl.
Odpověď
Sady rámců se často používají způsobem, kdy porušují základní princip web – že každý dokument má jednu adresu URL. To vede k problémům s propojováním, záložkami, vyhledávači atd.
Typickým použitím sady rámců je rám nahoře s logem nebo záhlaví, rám na straně s nabídkou a rámeček obsahu. Ale vyhledávače indexují jednotlivé stránky, takže když najdete nějakou stránku v Google, bude odkazovat přímo na stránku s obsahem bez sady rámců, takže ztratíte navigaci.Problém s odkazy a záložkami spočívá v tom, že byste obvykle chtěli propojit nebo označit konkrétní stránku obsahu uvnitř sady rámců, aniž byste ztratili samotnou sadu rámců. Není to snadný způsob.
Sady rámců se staly populární především proto, že umožňovaly staticky umístěné záhlaví a nabídku s rolovací oblastí obsahu. Ale toho lze dnes dosáhnout mnohem snadněji pomocí CSS. Rámečky vám dále umožnily používat běžné prvky, jako jsou loga a nabídky na více stránkách, bez použití jakéhokoli kódování na straně serveru. To byla výhoda v době, kdy bylo kódování na straně serveru zdlouhavé a náchylné k chybám (tj. Skripty CGI), a mnoho hostitelů vůbec neumožňovalo skriptování na straně serveru. Dnes s Content Management Systems (CMS) a lepšími na straně serveru s platformami je to mnohem lépe zpracováno na straně serveru.
Takže v zásadě neexistují žádné výhody používání sady rámců, jen spousta problémů.
IFrames can být použity stejným způsobem, jako byly použity sady rámců, a v takovém případě také vedou ke stejným problémům. Existuje však také mnoho legitimních použití prvků iframe, které nevedou ke stejným problémům.
Odpověď
Rámečky (sada snímků) fungují jako dokument. Je odstraněn, protože narušuje strukturu a navigaci dokumentů HTML. Např. máte odkazy v jednom rámci, obsah v druhém, nemůžete otevřít odkaz ze stránky v novém okně, nemůžete odkazovat na konkrétní podstránku atd.
Na druhém ruční prvky iframe nebudou ničit, pokud budou použity správně, protože jsou určeny pro obsah izolovaného prostoru (např. reklamy).