10.5 - Frames |
Em html é possível dividir uma janela em várias partes independentes, chamadas frames. De certa forma, cada frame se comporta como uma janela independente, uma vez que é possível carregar em cada um deles um outro documento html com suas características específicas. Em javascript, o comportamento de frames baseia-se nestas características: Cada tag gera um objeto no array frames da window do arquivo de layout. Documentos exibidos em um frame podem acessar este vetor através das propriedades de window:
|
O objeto frame é equivalente a um objeto window, utilizado para lidar com aquele frame.
Cada frame é uma propriedade do objeto window e pode ser acessado pelo array frames [ ] ou pelo seu nome definido no HTML através do atributo name da tag .
Referências entre frames
Suponha a seguinte divisão em frames criada pelo arquivo html:
Neste caso, serão carregados dois documentos html chamados fa.htm e fb.htm dentro dos dois frames criados. Imagine agora que precisamos incluir um script no primeiro documento (fa.htm) que precisa interagir com o segundo documento que está carregado no frame de baixo. Para fazer esta referência, é possível usar:
A referência parent.frames[1] ou parent.fb comportam-se exatamente com se elas próprias fossem janelas, podendo portanto, utilizar todas as propriedades e métodos do objeto window neste contexto, daí a construção “parent.fb.document.write()”.
![]() |
Na maioria dos casos as propriedades top e parent podem ser utilizadas indiferentemente. Apenas quando frames são carregados dentro de outros frames, existe uma diferença entre usar parent ou top. Enquanto parent refere-se ao layout mais próximo, top refere-se ao topo de toda a hierarquia. |
O exemplo a seguir carrega quatro documentos diferentes em quatro frames. Veja o código fonte do documento carregado no primeiro frame para analisar o script que permite alterar os documentos nos demais frames.