$XOD2V2EMHWRVdocumentHnavigator

Documentos relacionados
Web Design. Prof. Felippe

Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Felippe Scheidt IFPR Campus Foz do Iguaçu 2014/2

Informática I. Aula 6. Aula 6-12/09/2007 1

LINGUAGEM DE PROGRAMAÇÃO HTML COMPONENTES: ROBSON EDMILSON

O código JavaScript deve ser colocado entre tags de comentário para ficar escondido no caso de navegadores antigos que não reconhecem a linguagem.

$XOD2VREMHWRVGRQDYHJDGRU

Desenvolvendo Websites com PHP

Utilizando Janelas e Frames

HTML / JAVASCRIPT. A versão atual é o HTML5 (seus predecessores imediatos são HTML 4.01, XHTML 1.1, etc.).

Aula de JavaScript 05/03/10

02 - Usando o SiteMaster - Informações importantes

Criando um script simples

Roteiro 2: Conceitos de Tags HTML

Parte I. Demoiselle Mail

Tecnologias para Web Design

Programação WEB I DOM (Document Object Manager)

Construção Páginas de Internet

Primeiro contato com JavaScript

MANUAL E DICAS ASSISTENTE VIRTUAL (AV) ADS DIGITAL ( VERSÃO DO ASSISTENTE VIRTUAL: POR


Programação Web Prof. Wladimir

JavaScript. JavaScript é uma linguagem de script usada em navegadores web. É uma linguagem dinâmica, estruturada e orientada em objetos.

Programação para web JavaScript

Manual do Painel Administrativo

1. HTML - Introdução. Hyper Text Markup Language. É uma linguagem de formatação de conteúdos. Portável. Ficheiros de pequena dimensão

Lista de Revisão. 3. Analise a afirmativa a seguir como verdadeira ou falsa e justifique.

Aula 12: Funções. Pré-requisitos: Todas as aulas anteriores deste módulo. 1. Aproveitando Códigos no Programa

Introdução. História. Como funciona

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR

1) Ao ser executado o código abaixo, em PHP, qual será o resultado impresso em tela?

MANUAL DO ANIMAIL Terti Software

O que é o JavaScript?

Orientação a Objetos

Introdução ao PHP. Prof. Késsia Marchi

Programação WEB II. Sessions e Cookies. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

HTML. Sessão 1 HTML. Cliente: browser (IE, por exemplo) Servidor: IIS (Internet Information Server), Apache, WebSphere,...

ftp://ftp.cr-df.rnp.br/pub/netinfo/training/rnp/kit-bsb/html/guia.zip novembro 1996 Tutorial - Autoria em World Wide Web

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

QUEM FEZ O TRABALHO?

Internet e Programação Web

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

WEBDESIGN. Professor: Paulo Trentin Escola CDI de Videira

Engenharia de Software III

Manual do Sistema "Vida Controle de Contatos" Editorial Brazil Informatica

AJAX no GASweb. Mas e afinal, para que usamos o AJAX?

Desenvolvedor Web Docente André Luiz Silva de Moraes

Desenvolvimento em Ambiente Web. HTML - Introdução

Scriptlets e Formulários

Glossários em Moodle (1.6.5+)

Tutorial Módulo 1: Introdução e primeiros passos Por Daniel Chicayban (dan@trendnet.com.br)

Table of Contents. PowerPoint XP

Mais sobre uso de formulários Site sem Ajax

mkdir /srv/www/default/html/calculadora/imagens mkdir /srv/www/default/html/calculadora/blocos

INTRODUCAO DESENVOLVIMENTO E DESIGN DE WEBSITES INTRODUÇÃO. Professor Carlos Muniz

1. Objetivos do curso 2. 2 Comunicação Interna (CI) 13 3 Ofício 18 4 DEFINIÇÕES GERAIS 23 5 CONCLUSÃO 27

Guia de Início Rápido

Introdução ao Tableau Server 7.0

Manual de Utilizador. Caderno. Recursos da Unidade Curricular. Gabinete de Ensino à Distância do IPP.

Entendendo como funciona o NAT

Série ArcGIS Online I. Aprenda em 20. Módulo 4. Configure pop-ups.

Microsoft Access XP Módulo Um

Desenvolvimento de Sites com PHP e Mysql Docente André Luiz Silva de Moraes

Inicialização Rápida do Novell Vibe Mobile

Desenvolvimento em Ambiente Web. Prof. André Y. Kusumoto

2 echo "PHP e outros.";

Webdesign HTML. Introdução a HTML e as principais tags da linguagem. Thiago Miranda dos Santos Souza

Sumário. HTML CSS JQuery Referências IHC AULA

Introdução ao HTML 5 e Implementação de Documentos

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

15. OLHA QUEM ESTÁ NA WEB!

Manual de Gerenciamento de Conteúdo

NESSE MANUAL VÃO SER SOLUCIONADAS AS SEGUINTES DÚVIDAS DE USO:

Passa a passo para construir uma página pessoal - Parte 1

WEBDESIGN. Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br Escola CDI de Videira

Tecnologias para apresentação de dados - Java Script. Aécio Costa

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

ASSOCIAÇÃO CRISTÃ DE MOÇOS DO RIO GRANDE DO SUL DEPARTAMENTO DE TECNOLOGIA DA INFORMAÇÃO

PRODAV 05/2014 Passo a passo para inscrição do projeto

Múltiplos Estágios processo com três estágios Inquérito de Satisfação Fase II

JavaScript Eventos e Objetos Nativos

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

Incorporando JavaScript em HTML


JSP - ORIENTADO A OBJETOS

Organizar a estrutura do site

Configurando o DDNS Management System

Oficina de Construção de Páginas Web

PASSO A PASSO PARA INSCRIÇÃO NA CHAMADA PÚBLICA BRDE/FSA PRODAV 04/ LABORATÓRIOS

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova.

Microsoft Access: Criar consultas para um novo banco de dados. Vitor Valerio de Souza Campos

Webmail lendo os s. O que é. Como ler os s através do WEBMAIL

Manual de Integração Via Gadget. Passo a passo para realizar a integração entre websites e a plataforma Virtual Target.

7. Cascading Style Sheets (CSS)

Vamos iniciar a nossa exploração do HTTP baixando um arquivo em HTML simples - bastante pequeno, que não contém objetos incluídos.

JSP: JAVA SERVER PAGES

Respondendo a eventos

Programação WEB. Prof. André Gustavo Duarte de Almeida docente.ifrn.edu.br/andrealmeida. Aula III Introdução PHP

Transcrição:

$XOD2V2EMHWRVdocumentHnavigator Nesta aula continuaremos a tratar dos objetos em JavaScript. Veremos agora detalhes sobre os objetos document e navigator. 2EMHWLYRV Aprender: - as características e métodos do objeto document - como gerar páginas dinamicamente - as características e métodos do objeto navigator - como fazer páginas com código dependente do navegador 3UpUHTXLVLWRV As aulas 13, 14 e 15 são importantes para esta aula. 2EMHWRDocument O objeto Document serve para definir, consultar ou modificar características do documento atual mostrado pelo navegador. Freqüentemente, este é um dos objetos mais usados na forma FOLHQW VLGH de JavaScript. Como esta forma de JavaScript existe para transformar os documentos HTML estáticos em programas interativos, é através do objeto Document que é possível acessar e modificar o conteúdo dos documentos. XML é a sigla correspondente a Extensible Markup Language. Cada objeto window tem uma propriedade document. Esta propriedade se refere ao objeto Document que representa o documento (tipicamente um documento HTML ou XML) mostrado na janela. Este objeto tem propriedades que permitem conhecer informações sobre o documento mostrado no browser: sua última modificação, as cores nas quais ele será mostrado etc. Este objeto também tem métodos que permitem aos programas JavaScript mostrar texto e criar outros novos documentos. Algumas propriedades deste objeto são DUUD\V que representam formulários, imagens, OLQNV, âncoras e DSSOHWV do documento. O DUUD\ images[] contém os objetos que representam as imagens do documento. Esses objetos permitem aos programadores da linguagem trocar imagens do documento criando diversos efeitos interessantes. O DUUD\ forms[] contém objetos do tipo Form, que representam todos os formulários HTML do documento. Cada elemento <form> em um documento HTML cria um elemento numerado no DUUD\ forms[]. Idem para cada elemento <applet> que cria um elemento no DUUD\ applets[]. O mesmo se aplica às WDJV <a>, <embed> e <img>. Além da identificação pelo seu número como elemento no DUUD\, se alguma WDJ tiver a propriedade NAME, o valor deste atributo pode ser usado como um nome de uma propriedade do objeto Document. Por exemplo, suponha que uma página tenha um formulário com o nome f1, definido pelas linhas: <form name="f1"> 1

<input type="button"value="pressione"> </form> Seu código JavaScript pode se referir ao objeto form usando ambas as expressões que seguem: //referencia pela ordem no documento: document.forms[0] //referencia pelo nome: document.f1 Como você já deve ter concluído, é bastante útil dar nomes adequados para facilitar a interpretação e a referência a alguns elementos nos códigos JavaScript. Este objeto tem as propriedades mostradas na tabela 16.1. O conjunto de nomes de cores pré-definidos pode ser encontrado em: http://developer. netscape.com/ docs/manuals/ communicator/ jsguide4/ colors.htm. 3URSULHGDGHVGRREMHWRDocument 3URSULHGDGH 6LJQLILFDGR alinkcolor Cor do OLQN enquanto ativo. Atributo ALINK de <BODY>. anchors[] $UUD\ com as âncoras. (<a name=...>). applets[] $UUD\ de objetos que representam os DSSOHWV Java, um para cada <applet> que aparecer no documento bgcolor Cor de fundo (definida em <BODY>). cookie Permite ler e escrever FRRNLHV HTTP. Contém uma VWULQJ que é o valor de um FRRNLH associado com este documento. domain Permite aos servidores do mesmo domínio relaxar algumas restrições de segurança. Uma VWULQJ especificando o domínio. embeds[] $UUD\ de objetos embutidos (SOXJLQV e controles ActiveX) do documento. fgcolor Cor do texto GHIDXOW (definida no atributo TEXT em <BODY>). forms[] $UUD\ com os formulários (WDJV <form>... </form> do documento). images[] $UUD\ com as imagens (WDJV <img src=...> do documento). lastmodified 6WULQJ com a data da última modificação do documento. links[] $UUD\ com os OLQNV (<a href=...>) do documento. linkcolor Cor dos OLQNV não visitados. Corresponde ao atributo LINK de <BODY>. location Sinônimo da URL, existe apenas por compatibilidade com a versão 1.0. referrer 6WULQJ de leitura com a URL do documento que chamou a página atual, se houver. title Uma VWULQJ só de leitura com o texto no interior das WDJV <TITLE>...<TITLE>. URL Uma VWULQJ só para leitura com a URL da qual o documento foi carregado. vlinkcolor Cor dos OLQNV já visitados. Atributo VLINK de <BODY>. As propriedades de cores do documento devem ser definidas antes da tag <body> ser executada. Elas não podem ser definidas em qualquer lugar, mas 2

podem ser definidas dinamicamente na seção <head> ou estaticamente como atributos da tag <body> do documento. A única exceção a esta regra é a propriedade bgcolor, que pode ser definida a qualquer hora. Todas estas propriedades de cores têm como parâmetro uma das formas possíveis de predefinir cores já comentadas. As linhas de código abaixo, por exemplo, usam esta propriedade para alterar a cor de fundo: <html> <head> <title>exemplo Propriedades de Document </title> <script language=javascript> function datamodif() { document.write("<h3>ultima ", "atualizacao nesta pagina", document.lastmodified, "</h3>"); function mudacor(cor) { document.bgcolor = cor; </script> </head> <body bgcolor=lightpink> <h1 align=center>utilizando o Objeto Document</h1> <script language =javascript> datamodif(); </script> <h2>mudar a Cor do Fundo</h2> <a href="javascript:mudacor( white )"> Branco</a> <br> <a href="javascript:mudacor( green )"> Verde</a> <br> <a href="javascript:mudacor( blue )"> Azul</a> <br> <a href="javascript:mudacor( yellow )"> Amarelo</a> <br> <script language=javascript> if (document.referrer) document.write("<h3>referenciada por:", document.referrer, "</h3>"); </script> </body> </html> Diversas outras propriedades que aparecem na tabela 16.1 são mais interessantes que as de cores. Por exemplo, no código anterior nós também usamos document.referrer e document.lastmodified. 3

Um dos usos possíveis de referrer é armazenar os valores do site que referiu a sua página para fins estatísticos. Também poderia ser útil para analisar links não-autorizados que se referem a sua página, ou fazer com que os links que venham de páginas que não tenham passado antes pela sua página principal a visitem primeiro. Usar document.lastmodified pode ser muito útil para automaticamente mudar a data de última alteração em documento, o que é um dado bastante útil em uma página. Como a forma do texto que aparece pela impressão direta do valor de retorno desta função inclui hora:minutos:segundos (separados por ":" como mostrado) e pode aparecer como mês/dia/ano (isto é a posição usual em nossa língua com o dia e o mês invertida e separados por "/" como mostrado), às vezes, pode ser muito mais útil associá-la a um objeto Date, para ter as opções dos métodos de manipulação de data deste a nosso dispor. Assim, as linhas de código para uma nova função datamodif() abaixo atribuem o retorno de document.lastmodified a um objeto Date (que estudamos na Aula 14) e usam os métodos getdate(), getmoth() e getutcfullyear(), para imprimir o dia, mês e ano. Como uma última observação repare que ao mês foi adicionado 1, pois os valores de retorno de getmoth() são entre 0 e 11: //outra versão da função anterior function datamodif1() { //cria objeto Date modif=new Date(document.lastModified); //usa alguns metodos de Date document.write("<h3>atualizado em:", modif.getdate(), "/", (modif.getmonth()+1),"/", modif.getutcfullyear(),"</h3>"); 'RFXPHQWRV*HUDGRV'LQDPLFDPHQWH Os métodos clear, write e writeln do objeto Document permitem alterar dinamicamente textos HTML nos documentos que estão sendo interpretados. Os métodos close e open permitem criar documentos inteiramente novos. A tabela 16.2 mostra os métodos deste objeto. 4

0pWRGR clear() close() open() write (v1, vn) writeln (v1, vn) 0pWRGRVGRREMHWRGREURZVHUDocument 6LJQLILFDGR Apaga o conteúdo todo de um documento. Fecha o documento aberto por open(). Termina de incluir coisas num documento. Cria um novo documento. Abre um canal para escrever conteúdos em um documento. Insere VWULQJ ou VWULQJV (v1... vn) no documento cujo canal foi aberto por open(). Imprime VWULQJV (v1... vn) em uma linha do documento. Idêntico ao anterior, mas adicionando a mudança de linha na saída. Já estamos usando as funções de escrita no mesmo documento que está sendo interpretado deste a primeira aula deste módulo. Para criar um novo documento é necessário primeiro usar o método open() do objeto Document, e então chamar as função de escrita tantas vezes quantas necessárias para gerar o conteúdo do novo documento e mostrá-lo. Finalmente, deve-se usar o método close() para indicar que o documento está terminado. Este último passo é importante porque o browser pode armazenar temporariamente o HTML que você está escrevendo e só mostrar esta tela de saída quando o método close() for chamado. De maneira oposta ao fechamento, abertura pelo método open() é opcional. Se você usar write() em um documento que já foi fechado será implicitamente aberto um novo documento HTML, como se você tivesse usado o método de abertura. Neste processo, no entanto, o documento corrente e seu conteúdo será descartado. Quando open() é usado sem argumentos é aberta uma nova página HTML. Mas os browsers podem mostrar outros tipos de formato de dados além de HTML. O formato mais comum de dados são textos simples (ou do tipo plain text). Se você quiser usar write() para saída de um texto deve usar a string "text/plain" como argumento: document.open("text/plain"); Com estes métodos, você gera documentos dinamicamente, mas para que um documento HTML seja realmente dinâmico deve ser interativo, o documento e os seus elementos devem responder a atitudes (eventos) do usuário. Nós discutiremos eventos na próxima aula. 2EMHWRnavigador As propriedades deste objeto contêm informações apenas para leitura, isto é, não modificáveis, sobre o browser ou navegador em uso. Estas propriedades podem ser usadas para configurar a página para uma plataforma específica. O nome do objeto é obviamente devido ao browser Navigator, embora seja portável e esteja presente nos outros browsers que interpretam JavaScript. O 5

Internet Explorer usa o nome clientinformation para se referir ao objeto navigator. Mas este nome embora mais descritivo e menos relacionado a um produto não é portável e nem suportado pelo Netscape Navigator. A forma como este objeto está implementado difere do Explorer para o Netscape, mas pelo menos as propriedades mostradas na tabela 16.3 são comuns e permitem a criação de documentos adaptáveis a cada tipo de navegador. Como há uma única instância deste objeto não é necessário se referir a ele como window.navigator. 3URSULHGDGHVGRREMHWRDocument 3URSULHGDGH 6LJQLILFDGR appname O nome do EURZVHU. appversion Versão do EURZVHU, seu número e outras informações. useragent Todas as informações de appname e appversion. appcodename Codinome do navegador. platform Tipo de máquina onde está sendo executado. language Código em 2 letras especificando a língua que a versão em uso suporta. Inglês ="en", francês ="fr" etc. As linhas de código que seguem mostram cada uma destas propriedades do objeto Navigator. Mas como você poderá ver se executá-las, algumas delas têm muito mais valores que o realmente necessário. <html> <head> <title>o objeto navigator</title> </head> <body bgcolor=lightcyan> <h2>o objeto navigator</h2> <hr> <script language="javascript"> <!-- if (navigator.javaenabled()) { document.write("browser admite Java); var browser="<br>todas as propriedades" + " do browser:<br>"; for(var propriedades in navigator) { browser += propriedades + ": " + navigator[propriedades] + "<br>"; document.write(browser); //--> </script> <hr> </body> </html> Além das propriedades acima, há outras definidas apenas no Netscape 6

Navigator ou no Internet Explorer. A maioria destas propriedades incompatíveis são principalmente usadas em DHTML. Para usar estas propriedades é melhor você antes verificar o tipo de navegador usado porque vai visualizar a página. A forma de fazer isso é usar as técnicas que discutiremos na próxima seção. O objeto Navigator também tem métodos usáveis apenas para o Netscape Navigator. A única função que faz parte da linguagem desde sua versão 1.1 é navigator.javaenabled(). No exemplo acima nós a usamos também. A função javaenabled() testa se o EURZVHU corrente permite o uso de Java. Em caso positivo, o valor de retorno será true, e false em caso contrário. 3iJLQDV'HSHQGHQWHVGR1DYHJDGRU Devido às diferenças de implementação entre os principais tipos de navegadores, em muitas situações é necessário distinguir qual o navegador para saber que código utilizar. Uma forma de fazer isso é através do objeto navigator. Este objeto, como o próprio nome diz, apresenta uma série de informações acerca do browser que está sendo utilizado. A técnica de criar código adaptável ao tipo do browser consiste em colocar o código dependente do navegador abaixo de um GHVYLR FRQGLFLRQDO onde se testa o valor da propriedade appname. Como JavaScript é uma linguagem interpretada, o navegador só acusa o erro de não reconhecer um código quando o executa e o desvio condicional evita que isso ocorra. O exemplo abaixo mostra como incluir código dependente do navegador: ns=(navigator.appname.indexof("netscape")!= -1); ie=(navigator.appname.indexof("explorer")!= -1); document.write("seu navegador é: "); if (ns) document.write("netscape"); else if (ie) document.write("explorer"); else document.write("desconhecido"); ([HUFtFLRV Digite o código que está sendo discutido no Exemplo Propriedades de Document, na seção 1 desta aula. Agora faça a página ser carregada na forma original da função DataModif() e depois usando a sugestão de modificação apresentada na seção 1: DataModif1(). Como você poderia fazer para ao invés de apresentar os meses com números mostrá-los pelos nomes? Faça isso agora, criando uma nova versão deste mesma função: DataModif2() (Dica: crie um Array com os nomes dos meses do ano e use o valor de retorno de getmonth para acessar os elementos deste DUUD\) 7

Tente usar agora neste código (como fizemos nos objetos estudados nas aulas 13 e14) todas as demais propriedades do objeto document apresentadas na tabela 16.1. Verifique o que ocorre com cada uma delas no documento mostrado pelo seu navegador. Digite o código que foi apresentado na seção 2 e veja o resultado em uma página Web. Depois substitua o código abaixo pelo correspondente mais completo do exemplo apresentado na seção sobre o objeto navigator. Verifique o resultado visualizando novamente a página. document.write("<hr><br>agora as mais " + "importantes:<ul>"); document.write("<li><b>code Name:</B> ", navigator.appcodename); document.write("<li><b>app Name:</B> ", navigator.appname); document.write("<li><b>app Version:</b>", navigator.appversion); document.write("<li><b>user Agent:</B> ", navigator.useragent); document.write("<li><b>platform:</b>", navigator.platform); nome = navigator.appname; if (nome.indexof("netscape")!= -1) document.write("<li><b>language:</b>", navigator.language); else document.write("<li><b>language:</b>", navigator.userlanguage); Utilize o exemplo dependente do navegador na seção 2.1 no exercício anterior. Visualize o resultado que terá abrindo uma página com o código em um navegador. 5HVXPR Nesta aula você conheceu em detalhes as características de dois objetos muito importantes: Document e Navigator. O primeiro deles é especialmente útil para criar páginas com maior dinamismo e que podem ser geradas automaticamente Na próxima aula continuaremos neste assunto de geração de páginas não estáticas, aprendendo como fazê-las interagir com o usuário, o que permitirá a criação de páginas muito versáteis e úteis. $XWRDYDOLDomR Quantas propriedades e métodos novos! Se algum ponto não ficou muito claro, releia-o antes da próxima aula, na qual você continuará a crescer na direção de ser um criador de páginas WEBs poderosas e repletas de objetivos! Nela você aprenderá as coisas mais importantes para uma programação dinâmica: como reagir às atitudes de quem usa a página, ou em outras palavras como usar os eventos. 8

9