Tipos
de frames
Um frame é uma área de uma página web que desenrola outra
página web. Uma página com frames é definida também como
frameset e se divide em áreas que contêm subpáginas web
diferentes.
Também se fala de iframes ou inline
frames para se referir aos frames embebidos em páginas web. Este tipo
de frame foi introduzido com Internet Explorer 3.0.
Em HTML, um frame se
faz com um código similar a este:
FRAMESET rows="50%,*"
FRAME src="page1.html"
name="frame1"
FRAME
src="page2.html" name="frame2"
/FRAMESET
(mais exemplos em <http://wp.netscape.com/assist/net_sites/frame_syntax.html>)
O
iframe é muito similar:
iFRAME
src="contents_of_frame.html" FRAMEBORDER="0" SCROLLING="auto"
name="myInlineFrame"
/iFRAMESET
Por que se usam
os frames?
Em geral se usam para manter uma área comum e ter
imergido outra página que pode mudar independentemente das outras páginas nas
outras áreas do frameset.
Historicamente em HTML eram usadas para poder ter
áreas comuns em várias páginas. Ex.: cabeçalho e menus. Desta maneira,
atualizando-se uma só página; esta mudança se refletirá em todas as páginas do
site que tenham frames.
Prós
Reduz a quantidade
de tráfego desde o servidor, conseqüentemente descarregando mais rapidamente as
páginas para o usuário.
Independiza a área de navegação e áreas comuns de
todas as páginas em um site com o conteúdo das mesmas. Ajuda a manter
atualizadas as áreas comuns (ex.: navegação).
Existe um artigo muito
interessante que fala sobre as bondades de usar frames e iframes: <http://www.theonestopwebsiteshop.com/web-design/reduce-traffic-by-frames.htm>
Contras
Não
permite indexar bem as páginas nos buscadores de Internet. Muitos buscadores
indexam a página dentro do frame e o frameset da mesma de forma independente,
pelo qual podem listar a página dentro do frame como uma página raiz similar a
muitas outras, fazendo com que os usuários acessem a esta sem ver a página
contendedora. Isto não é o desejável quando se desenha uma página com frames, já
que o frameset tem informação sumamente importante, como a identificação do site
e todo o sistema de navegação para mover-se dentro do mesmo.
Muitos
buscadores não indexam páginas com frames. Ou seja, seu site não vai estar
listado nos buscadores para que os potenciais clientes o encontrem.
Não
se pode usar o botão de back.
Não se pode acrescentar corretamente a
página a Minha Lista de Favoritos, já que se acrescenta só a página pai,
independentemente de como tenha se navegado na página contida no
frame.
Não se pode enviar a url da página a um amigo e fazer com que ele
a veja exatamente como a vejo, já que como o ponto anterior, lhe mandaria a url
da página pai.
Não se pode imprimir bem a página contida no frame em
muitos casos. Encontram-se muitos problemas com as buscas dentro dos
sites.
Os browsers velhos que não suportam frames diretamente não os
desenrolam.
Nem sempre se pode mostrar ao usuário onde está no sistema de
navegação do site. As áreas de frames se fixam independentemente do tamanho da
página contida no frame, pelo qual se esta página é menor que o tamanho fixado,
se estará desperdiçando espaço no frameset que poderia ser usado para dar mais
informações ao usuário ou , se a página é maior, se desenrolam barra de
deslocamento.
Os frames desenrolam barras de deslocamente
independentes do frameset quando a página contida é maior que o frame que a
contém. Se bem se pode confirgurar para evitar que estas barras apareçam, na
maioria dos casos se desenrolam, ou não
mostram completamente o conteúdo da página dentro do grame se o usuário
tem uma configuração de sua tela não esperada ou, muda o tamanho da janela do
navegador. As conseqüências disto são:
Confundem o usuário e fazem com que
ele se sinta perdido
Necessitam espaço para serem mostradas, pelo qual muitas
vezes ficam sobre o conteúdo da página fazendo com que o usuário tenha que se
deslocar constantemente para ler o conteúdo da página imersa no frame.
Fazem
com que o usuário perca muito tempo movimentando-se com as barras de
deslocamento para chegar ao conteúdo que querem. Muitos usuários evitam usar
estas barras e não encontram o conteúdo que buscam.
Meu
conselho
Evitar o uso de frames sempre que for possível, já que
estar listado corretamente nas ferramentas de busca faz a diferença entre ter ou
não visitantes em seu site.
Os casos de exceção podem ser sites que não
precisem ser listados em ferramentas de busca: ex.: intranets. Nestes casos
deve-se ter especial cuidado em como se desenham e configuram os frames para
evitar que o usuário se sinta incômodo e não chegue -> informação que é
importante para ele.
Nielsen escreveu há uns anos um artigo no qual
muitos conceitos ainda continuam vigentes:
<http://www.useit.com/alertbox/9612.html>
Referências:
<http://lois.co.uk/web/articles/frames.shtml>
<http://webmaster.harvard.edu/bestpractice/frames.html>
<http://www.designplace.org/tutorials.php?page=1&c_id=1>