![]() |
|
|
|
|
16. Abrir novas JanelasNeste capítulo mostraremos como podem ser abertas novas janelas sobre uma janela contendo o documento principal. É importante não confundir esta forma de abrir janelas com a divisão da tela em várias partes, ou mesmo com a chamada de outras páginas. Para que não existam dúvidas, explicaremos um pouco sobre estes dois outros métodos. A divisão de uma tela em várias janelas contendo documentos diferentes é feita através do objecto FRAME do Html. Neste caso, a tela inteira é considerada como um FrameSet e cada parte em que ela for dividida é considerada como um Frame. Cada Frame é definido dentro do FrameSet através da especificação dos parâmetros: % da tela na vertical (cols), % da tela na horizontal (rows) e nome de cada frame. Uma vez criado o FrameSet poderemos abrir documentos distintos em cada Frame. Para fazer isto, acrescente ao link do documento a directiva target=nome do frame. Ex.: <href="Eventos.htm" target="Principal"> Isto fará com que o arquivo html Eventos.htm seja aberto dentro do frame de nome Principal. A simples chamada de outras telas (documentos) é feita através do link para o documento desejado. Ex.: <href="Eventos.htm" > Isto fará com que o arquivo html Eventos.htm seja aberto em substituição a tela existente. Bem, voltemos ao nosso caso que é a abertura de janelas sobre um documento. Isto é feito através de comandos JavaScript, que permitem: Abrir uma janela, Abrir um documento dentro desta janela, Escrever o conteúdo da janela, Fechar a janela e Fechar o documento. Abrir a Janela: A sintaxe geral deste método é a seguinte: Variavel = window.open ("Url", "Nome da janela", "Opções") Onde: Variavel - Nome que será atribuído como propriedade da janela. Url - Endereço Internet onde a janela será aberta. Normalmente você estará utilizando a sua própria Url, neste caso, preencha com "". Nome da Janela - É o nome que aparecerá no top da janela (Título) Opções - São as opções que definem as características da janela, quais sejam: toolbar - Cria uma barra de ferramentas tipo "Back", "Forward", etc. location - Abre a barra de location do browse. directories - Abre a barra de ferramentas tipo "What’s New", "Handbook", etc. status - Abre uma barra de status no rodapé da janela. scrollbars - Abre barras de rolamento vertical e horizontal. menubar - Cria uma barra de menu tipo "File", "Edit", etc. resizable - Permite ao usuário redimensionar a janela. width - Especifica a largura da janela, em pixels. height - Especifica a altura da janela, em pixels. Todas as opções (exceto width e height) são boleanas e podem ser modificadas de duas formas. Exemplo: "toolbar" ou "toolbar=1") são a mesma coisa. Se nada for especificado, entende-se que todas as opções estão ligadas; Caso seja especificada qualquer opção, será entendido que estão ligadas apenas as opções informadas. As opções devem ser informadas separadas por vírgula, sem espaço entre elas. Abrir um Documento: Para abrir um documento dentro da janela, deve ser utilizado o seguinte método: Variavel.document.open() Onde "Variavel" é o nome da variável associada ao método window.open Escrever no Documento: Para escrever a tela no documento, deve ser utilizado o seguinte método: Variavel.document.write ("Comandos html, Comandos JavaScript, Textos, etc.") Fechar a Janela: Para fechar a janela, utilize o seguinte método: Variavel.document.write ("window.close()") Fechar o Documento: Para fechar o documento, utilize o seguinte método: Variavel.document.close () A seguir, apresentamos um exemplo no qual estamos abrir um documento onde o usuário escolherá uma opção (Elógica ou Recife) e dará um Click em um botão (Nova Janela). Neste momento será aberta uma nova janela que conterá a foto escolhida pelo usuário e um botão que, ao receber o Click, fechará a janela. Normalmente, qualquer href ou src dentro de uma página, por padrão, acede ao arquivo ou À imagem no mesmo directório onde está a página actual, a menos que seja especificado um novo caminho (Path). No caso de abertura de uma nova janela, através do método window.open, as versões mais antigas dos browses não conseguem "ver" o Path, sendo necessária a completa informação do caminho (path) onde o arquivo ou imagem estão armazenados, em todas as chamadas dos comandos Html href ou src. Observe que na função estamos utilizando dois novos métodos: navigator.appVersion: para verificarmos a versão do browse que esta sendo utilizado document.location: para obtermos o Path da localização do arquivo Html que está correntemente em uso. No exemplo abaixo estamos, inicialmente, identificando a versão do browse. Caso seja antiga, para não escrevermos todo o caminho a cada chamada e ainda, considerando que os arquivos chamados estão no mesmo directório da página actual, estamos obtendo o Path do arquivo actual e eliminando o nome do arquivo que está na última referencia do Path. Quando fizermos a chamada das imagens (comando src) só será necessário a concatenação do nome do arquivo chamado com a raiz do path que, no exemplo, armazenamos na variável de nome Local. <script> function Abrejanela(Opcao) { Versao = navigator.appVersion Versao = Versao.substring(0, 1) Local = "" if (Versao < 3) { Local = document.location UltLoc = Local.lastIndexOf("/") Local = Local.substring(0, UltLoc + 1) } // NovaJanela = window.open ("", "OutraJanela", "width=300,height=400") NovaJanela.document.open() NovaJanela.document.write ("<html><head><title>Nova Janela") NovaJanela.document.write ("</title></head><body bgcolor=’white’>") NovaJanela.document.write ("<form>") if (Opcao == 1) { NovaJanela.document.write ("<br>Logomarca Elogica<hr><br>") NovaJanela.document.write ("<img width=200 height=200 src=" + Local + "Marcaelo.gif>") } else { NovaJanela.document.write ("<br>Recife Alto Astral<hr><br>") NovaJanela.document.write ("<img width=150 height=200 src=" + Local + "Recife.gif>") } // NovaJanela.document.write ("<br><hr><p></p></form>") NovaJanela.document.write ("<form><input type=’button’ name=’Fecha’" + "value=’Fecha Janela’" + "onclick=’window.close()’>") NovaJanela.document.write ("</form></body></html>") NovaJanela.document.close() } </script> <body> <p></p> <p>Escolha a foto a ser apresentada na nova janela:</p> <form method="POST" name="Form1"> <p> <input type=radio name="Opcao" value="1" checked>Elogica <input type=radio name="Opcao" value="2">Recife </p> <p> <input type="button" name="Envia" value="Nova Janela" onclick="if (Form1.Opcao[0].checked == true) {Abrejanela(Form1.Opcao[0].value) } else {Abrejanela(Form1.Opcao[1].value) } "> </p> </form> </body> |
|
|
|
VOLTAR |
|