Iframes, algo contra?
01/07/2015
0
Marluce Neves
Posts
01/07/2015
Marcelo Pastore
02/07/2015
Jothaz
Antes só um esclarecimento IFrame é diferente de FrameSet! FrameSet deve ser evitado já a situação o Iframe pode ser discutida.
Trabalho com internet desde 1990 e nos primórdios não se sabia muito bem o que fazer e como fazer, era um caos. Então cada browser desenvolvia seus próprios padrões e renderizava o HTML como lhe aprouvesse. Não existia conceitos como: acessibilidade, usabilidade e mobile. Neste contexto a Microsoft criou a tag proprietária do IFrame (acho que veio substituir o Frame, se não me engando). Com o desenvolvimento e aceitação da Web o W3C se fortaleceu e começou a definir padrões para garantir que todos os browser exibissem o HTML de forma padronizada garantindo a universalização do conteúdo. Dai sugiram conceitos como CrossBrowser, tableless, webstandad e web semântica.
Do ponto de vista técnico não há problema algum. O "problema" é que esse é um recurso que está caindo em desuso e pode afetar a semântica do código e principalmente como os robots (crawlers) dos sites de busca vêem sua página. Além do que o IFrame não 100% CrossBrowser e pode haver algumas diferenças na renderização em diferentes browsers, porém nada que vá tornar impossível a visualização da páginas.
Pessoalmente não gosto de abordar as questões de forma maniqueísta certo e errado, acho que tudo depende do cenário. Portanto não é de todo errado utilizar iFrames, mas você tem outras opções que são consideradas mais apropriadas para o tipo de uso que necessita.
O que pode ser usado para defender o IFrame, não quero dizer que defenda, mas é importante sempre ver os dois lados. E tudo que vai ser enumerado abaixo pode ser feito de outras formas e pode ser contestado:
-Se um site tem 20 páginas e o cliente pede para inserir um novo link no menu, se este menu estiver no código de cada página, serão 20 alterações, pois você terá que mudar o menu em todas as páginas (mesmo que com copy e paste). E corre o risco de esquecer alguma. Com iframe, basta criar um arquivo HTML para o menu, com seus CSS e um iframe em cada página. Basta alterar a página do menu e todas as páginas irão puxar o atual.
-Legado. Se você tem um projeto que usa o IFrame é mais simples continuar usando do que alterar todo o projeto e aumentar o custo.
-Barra do topo de portais ou vídeos do youtube, por exemplo, porque esses players dependem de outros arquivos como javascript e CSS próprios
-Abrir o conteúdo de um arquivo externo .PDF em um a página com um formulário.
-Menu único para o site inteiro, o q facilita atualização e exclui problema de link errado
-Rapidez na montagem do site, pois só se preocupa com o conteúdo, como se tivesse uma "máscara"
-Se essa página inicial for pesada, pode-se sim considerar um carregamento mais rápido, visto que será carregado uma única vez
-Criar um uma intranet simples com poucos recursos e em pouco tempo e que independe de indexação por robôs e não tenho necessidade de utilização de leitor de tela, acredito que o uso de frames e iframes não seja uma má prática.
Enfim, ainda não temos algo que seja realmente funcional e que seja crossbrowser. A única solução que tentou chegar perto desse propósito é a tag <object>, mas infelizmente não é renderizada corretamente pelos browsers, cada um renderiza de uma maneira completamente diferente.
Acredito que o HTML5 isto melhore.
Pode-se contornar o uso do Iframe incorporação via arquivos de texto puro, com AJAX, poderia lhe citar algumas vantagens sobre iFrame:
- Velocidade no carregamento das páginas
- Menor consumo de dados, haja visto que os documentos de conteúdo, não precisam levar os cabeçalhos HTML
- Compatibilidade mais abrangente
- Tecnologia recente, amplamente aplicada na Internet atualmente
- Estilizar o contêiner que vai receber o conteúdo com CSS é muito mais fácil que estilizar um iFrame
- Uso de elementos previstos nos padrões, o que garante um comportamento quase idêntico em todos os navegadores
- Compatibilidade com os a técnicas de SEO.
O SharePoint da Microsoft uma solução usada principalmente em intranet é todo baseado em IFrames.
Eu não recomendaria, mais vai depender de você analisar o cenário e decidir.
Agora as vezes que usei nunca tive problemas.
Com meus parcos conhecimentos e experiência o conselho que posso lhe dar é: "never say never"!
02/07/2015
William
Outro exemplo é a verificação de e-mails lidos, utilizo da mesma maneira na listagem de emails enviados, verifico no servidor se determinado email foi aberto, entrou como SPAM e etc ...
Temos outras funcionalidades, mas sempre no sistema administrativo, nos portais que são indexados pelo Google não usamos IFrame.
02/07/2015
Marluce Neves
Tambem não vi Marcelo, mas vou "arrecadar" algumas opiniões!
Jothaz, existe outra solução para esse caso?
Se um site tem 20 páginas e o cliente pede para inserir um novo link no menu, se este menu estiver no código de cada página, serão 20 alterações, pois você terá que mudar o menu em todas as páginas (mesmo que com copy e paste). E corre o risco de esquecer alguma. Com iframe, basta criar um arquivo HTML para o menu, com seus CSS e um iframe em cada página. Basta alterar a página do menu e todas as páginas irão puxar o atual.
William, você citou algumas funcionalidades, mas atualmente existe algo faça igual ou pelo parecido, já que o Iframe entrará em desuso.
02/07/2015
William
02/07/2015
Marluce Neves
02/07/2015
William
02/07/2015
Jothaz
Tambem não vi Marcelo, mas vou "arrecadar" algumas opiniões!
Jothaz, existe outra solução para esse caso?
Se um site tem 20 páginas e o cliente pede para inserir um novo link no menu, se este menu estiver no código de cada página, serão 20 alterações, pois você terá que mudar o menu em todas as páginas (mesmo que com copy e paste). E corre o risco de esquecer alguma. Com iframe, basta criar um arquivo HTML para o menu, com seus CSS e um iframe em cada página. Basta alterar a página do menu e todas as páginas irão puxar o atual.
William, você citou algumas funcionalidades, mas atualmente existe algo faça igual ou pelo parecido, já que o Iframe entrará em desuso.
Da para fazer usando AJAX ou includes, mas com IFrame fica mais simples e implementar.
Existe o mundo ideal onde não seria recomendado usar IFrame e o mundo real onde o IFrame funciona e acaba simplificando a nossa vida.
Com eu disse não seria recomendado, mas como o William ilustrou muito bem, existem cenários que é uma ótima solução.
E torno a ressaltar quando precisei usar não fiquei de "mimi", usei. E tecnicamente me atendeu plenamente.
Então sempre pondere e use o bom senso para decidir se vai ou não usar.
É notável esta sua atitude de ler, entender, pesar os pros e contras mesmo não vendo necessidade em usá-lo. É assim que nos tornamos profissionais.
E como você viu não se pode ser xiita em relação a nada, pois tudo tem suas nuances e ser visto sob outro aspecto.
02/07/2015
Marluce Neves
É um processo a longo prazo do sistema web da empresa, vou ter que implementar outras tecnologias em meu conhecimento, ainda me sinto limitada, nota-se pelas minhas perguntas.
02/07/2015
Marluce Neves
Agradeço da todos!
02/07/2015
Marcelo Pastore
05/07/2015
Marluce Neves
Não foi vacilo, quando vi funcionando pensei a mesmo coisa.
05/07/2015
Marcelo Pastore
Clique aqui para fazer login e interagir na Comunidade :)