Por que os quadros foram substituídos em HTML5, mas não em iFrames?

63

Por que os quadros foram preteridos em HTML5, mas não em iFrames? Afinal, quase não há diferença entre os dois. Em muitos casos, usar qualquer um deles daria o mesmo resultado (me perdoe se eu estiver errado)?

    
por Roc Martí 15.04.2012 / 07:12
fonte

3 respostas

72

Existem alguns equívocos na sua postagem. Primeiro, os elementos frame e frameset não são preteridos no HTML5, eles são obsoletos (ou seja, eles foram totalmente removidos).

Em segundo lugar, os elementos frame e frameset não são a mesma coisa que o elemento iframe , nem fornecem a mesma saída:

  • O elemento frameset substitui o elemento body em páginas como um meio de incluir um modelo de documento diferente para páginas da Web: elas são ruins para usabilidade e acessibilidade, e o que elas pretendiam realizar foi completamente substituído por CSS e desenvolvimento onipresente do lado do servidor.

  • O elemento iframe , por outro lado, não substitui o corpo de uma página. Ele age como um meio de incluir um novo contexto de navegação incorporado em um bloco de conteúdo. Ele não sofre dos mesmos problemas de usabilidade ou acessibilidade que o modelo de conjunto de quadros e é usado em quase todos os lugares onde é necessário incluir um contexto de navegação embutido (os widgets são o exemplo mais prolífico). 1

O iframe em HTML5 também assume recursos adicionais, pois pode ser sandbox , permitindo que o documento pai decida o que é executado dentro dele. Isso permite alguma medida de segurança para o documento pai (e os visitantes do documento pai) ao incorporar conteúdo não confiável.

Notas

Nota 1: o elemento object de certa forma se sobrepõe ao elemento iframe , mas tem um modelo de conteúdo diferente (que é destinado principalmente a plugins), tem seu próprio conjunto de advertências, e não tem os atributos de sandboxing que o elemento iframe tem.

    
por 15.04.2012 / 08:00
fonte
8

Frames (frameset) atua como documento. É removido porque quebra a estrutura e a navegação dos documentos HTML. Por exemplo. você tem links em um quadro, conteúdo no outro, você não pode abrir o link da página em uma nova janela, você não pode linkar para uma subpágina específica, etc.

Por outro lado, os iframes não quebram nada se usados corretamente porque são feitos para proteger o conteúdo (por exemplo, anúncios).

    
por 15.04.2012 / 08:06
fonte
6

As Conjuntos de Quadros são frequentemente usadas de forma a quebrar o princípio fundamental da web, que cada documento tem um único URL. Isso leva a problemas com links, marcadores, mecanismos de pesquisa etc.

O uso típico de um conjunto de quadros seria um quadro na parte superior com um logotipo ou cabeçalho, um quadro ao lado com um menu e um quadro de conteúdo. Mas os mecanismos de pesquisa indexam páginas individuais, portanto, quando você encontrar alguma página no google, ela será direcionada diretamente para a página de conteúdo sem o conjunto de quadros, para que você perca a navegação. O problema com links e marcadores é que você normalmente deseja vincular ou marcar uma determinada página de conteúdo dentro do conjunto de quadros, sem perder o próprio conjunto de quadros. Não é uma maneira fácil de fazer isso.

A razão pela qual os framesets se tornaram populares em primeiro lugar foi porque eles permitiam um cabeçalho e um menu estaticamente posicionados com uma área de conteúdo de rolagem. Mas isso pode ser conseguido muito mais facilmente com CSS hoje. Além disso, os quadros permitiram que você usasse elementos comuns, como logotipos e menus, em várias páginas, sem usar nenhuma codificação do lado do servidor. Essa foi uma vantagem no momento em que a codificação do lado do servidor era tediosa e propensa a erros (cgi-scripts!) E muitos hosts não permitiam scripts do lado do servidor. Hoje, com CMS e melhores plataformas do lado do servidor, isso é muito melhor administrado no lado do servidor.

Então, basicamente, não há vantagens para o conjunto de quadros, mas muitos problemas.

IFrames podem ser usados da mesma forma que os conjuntos de quadros foram usados e, nesse caso, eles também levam aos mesmos problemas. Mas também há muitos usos legítimos de iframes que não levam aos mesmos problemas.

    
por 30.08.2015 / 10:19
fonte

Tags