2 Capítulo 1
web interativa
Entre o CEP:
O usuário digita
informações no formulário.
a ca sa?
Pronto para localizar um
Entre a renda anual:
clique! clique!
4 Capítulo 1
web interativa
Entre o número.
A entrada do usuário é
validada para a precisão. Entre o CEP no formulár
ioXXXXX
As informações em
um servidor são ontradas:
pesquisadas usando os As seguintes casas foram enc
parâmetros fornecidos Ver
pelo usuário.
Ver
Ver
Um cálculo é
feito com base
nos dados
fornecidos pelo
usuário.
você está aqui 5
HTML, CSS e JavaScript
inter
Luzes, câmera, ação!
O JavaScript coloca o HTML e o CSS como uma das três peças da construção da
página Web moderna. O HTML fornece a estrutura, o CSS adiciona o estilo e o
JavaScript inicia e faz as coisas acontecerem. Para encontrar o caminho para uma
página Web interativa, você tem que seguir a trilha da estrutura (HTML) até o
estilo (CSS) e então, a ação (JavaScript). Parecido com o CSS, o código JavaScript
geralmente reside na página Web.
ESTRUTURA
<html>
<head>
...
</head>
HTML
<body>
<div id=”frame”>
casa?</div>
para localizar uma nova
<div id=”header”>Pronto
<div id=”left”>
<style type=” text/c ss”>
/>
ouse”
<img src=”house.png” alt=”H
body {
ESTILO
</div>
font:14px arial;
=”…” method=”POST”>
CSS
<form name=”orderform” action
lign:c
text-ayour enter;income:
annual
<div class=”fi eld”>Enter
} text” size=”12” />
<input id=”income” type=”
</div>
#frame {the number of bedrooms:
<div class=”fi eld”>Enter
text” size=”6” />
width:400px;
<input id=”bedrooms” type=” <script type=”text/javascr
ipt”>
</div>
}
function validateNumber(val
ue) { AÇÃO!
your ZIP code:
<div class=”fi eld”>Enter // Valide o número
#header { size=”10” />
<input id=”zip” type=”text”
JavaScript
// if (!isNumber(value))
font:16px arial;
</div> alert(“Entre o número.”);
font-weight: bold;
”Calcu late Price”/>
<input type=”button” value= }
margin -botto m:15px ; ”/>
”Shop for Houses
<input type=”button” value=
}
</form> lue) {
function validateZIPCode(va
</div> // Valide o código postal
#left {
)
</body> // if (!isZIPCode(value)
fl oat:left;
ário XXXXX.”);
</html> alert(“Entre o CEP no formul
width:110px;
}
}
function calcPrice( ) {
div.fi eld {
var maxPrice =
margin-bottom:10px;
“income”).value * 4;
document.getElementById(
text-align:right;
uma casa até: $” +
alert(“Voce pode comprar
}
maxPrice + “.”);
O HT ML <
}
var zipCode =
“zip”).value;
document.getElementById(
O CSS adiciona
or
coincidentes a partir do servid
// Exiba uma lista de casas
o toque visual.
form.submit( );
</script>
As partes da página
estão lá, mas não estão
Pronto para localizar um
a casa? formatadas e não têm
um interesse visual...
A página
parece muito
Entre a renda anual:
Entre o número de quartos:
melhor,
mas não faz
Entre o CEP:
Pronto para localizar um
a casa? muita coisa...
Entre a renda anual:
Agora,
Entre o número de quartos:
a página
Entre o CEP: realmente
Calcula o Preço Localizar Casas faz algo!
R$320.000,00.
Você pode comprar uma casa de até:
Aponte seu Lápis Você já sabe mais do que pensa. Veja o código para a
página Web House Finder e escreva o que acha que cada
parte circulada do código JavaScript está fazendo. Não tem
problemas se adivinhar.
<html> ...........................
<head>
<title>House Finder</title> ...........................
<script type=”text/javascript”>
function validateNumber(value) {
...........................
function validateZIPCode(value) {
// Valide o código postal
// if (!isZIPCode(value))
alert(“Entre o CEP no formulário XXXXX.”); ...........................
} ...........................
function fi ndHouses(form) {
.value;
var bedrooms = document.getElementById(“bedrooms”)
e;
var zipCode = document.getElementById(“zip”).valu
do servidor
// Exiba a lista de casas coincidentes a partir
form.submit();
} ...........................
</script>
...........................
</head>
...........................
<body>
<div id=”frame”>
<div id=”header”>Ready to fi nd a new house?</div>
<div id=”left”>
<img src=”house.png” alt=”House” />
</div>
<form name=”orderform” action=”…” method=”POST”> ...........................
<div class=”fi eld”>Entre a renda anual:
<input id=”income” type=”text” size=”12” ...........................
onblur=”validateNumber(this.value)”/></div>
<div class=”fi eld”>Entre o número de quartos:
<input id=”bedrooms” type=”text” size=”6”
onblur=”validateNumber(this.value)”/></div>
<div class=”fi eld”>Entre o CEP:
<input id=”zip” type=”text” size=”10”
onblur=”validateZIPCode(this.value)”/></div>
...........................
<html>
Pede ao usuário que
...........................
<head>
<title>House Finder</title>
forneça um código
...........................
<script type=”text/javascript”>
function validateNumber(value) {
postal no formato com
...........................
function validateZIPCode(value) {
// Valide o código postal
// if (!isZIPCode(value))
alert(“Entre o CEP no formulário XXXXX.”); Calcula o preço máximo da
...........................
}
casa como quatro vezes
...........................
function calcPrice() {
var maxPrice = document.getElementById(“income”).v
alue * 4; o salário do usuário.
...........................
e + “.”);
alert(“Você pode comprar uma casa até $” + maxPric
}
function fi ndHouses(form) {
.value;
var bedrooms = document.getElementById(“bedrooms”)
e;
var zipCode = document.getElementById(“zip”).valu
do servidor
// Exiba a lista de casas coincidentes a partir
form.submit();
}
</script> Valida o campo income para
...........................
</head> assegurar que um número
...........................
</form>
</div>
</body>
</html>
10 Capítulo 1
web interativa
1 Você abre um
navegador Web e 2 O servidor Web
digita um URL... descobre qual
página retornar
para esse URL.
3 O servidor fornece
ao seu navegador Web
uma página cheia de
tags HT ML, regras
CSS e JavaScript.
Servidor
Web
O navegador exibe o HT MLo
<html>
4 <head>
Página Web
casa?
Pronto para localizar uma
Entre a renda anual: 4.5
...e sabe o executar
Entre o número de quartos:
qualquer JcoavmaS
Entre o CEP:
como dentro dascrtipagt,
Calcula o Preço
Localizar Casas
<script>, para fornecs
Você pode comprar uma casa
de até: R$320.000,00.
interatividade à págin er
a Web.
12 Capítulo 1
web interativa
Não existem
P: Como os navegadores Perguntas Idiotas <script> é para suportar
Web executam o código diversas linguagens de script, você
JavaScript? indica que o código é JavaScript
R: Os navegadores Web têm P: Considerando os usando seu atributo type.
uma parte especial do software problemas de segurança da
Web, o JavaScript é seguro?
P: Vi páginas Web que têm
dentro deles chamada interpretador interatividade como, por
JavaScript e seu serviço é executar
o código JavaScript que aparece
R: Sim, na maior parte. O exemplo, os formulários que
verificam para assegurar
JavaScript é designado totalmente
em uma página. É por isso que para impedir que o código malicioso que a data seja fornecida
você pode ouvir o JavaScript sendo cause problemas. Por exemplo, o corretamente e parecem
descrito como uma linguagem JavaScript não permite a você ler ou fazer isso sem o JavaScript.
interpretada, em oposição a escrever arquivos no disco rígido do É possível?
uma linguagem compilada. As
linguagens compiladas como C++
usuário. Esta limitação acaba com
o potencial de muitos vírus e código
R: Sim. É possível ter
interatividade nas páginas Web
ou C#, por exemplo, devem ser malicioso parecido. Naturalmente, sem o JavaScript, mas em muitos
convertidas por uma ferramenta isso não significa que você não pode casos é ineficiente e desajeitado.
chamada compilador em um escrever um código JavaScript com Por exemplo, a validação dos dados
arquivo de programa executável. erros que torne as páginas Web nos formulários pode ser lidada no
Não é necessário compilar os difíceis de usar. Significa apenas servidor Web quando você envia o
programas JavaScript porque o que é improvável que você coloque formulário. Porém, isso significa que
código JavaScript é interpretado os usuários em sérios riscos com o terá que enviar o formulário inteiro e,
diretamente pelo navegador. JavaScript. E só para lembrar, os erros então, aguardar que o serviço faça
P: Como informo a uma do navegador e hackers espertos
descobriram modos de quebrar da
a validação e retorne os resultados
página Web para começar como uma página nova. Você
a executar o código segurança JavaScript no passado, e pode também validar o formulário
JavaScript? certamente ele não é imbatível. com lápis e papel! A interatividade
R: A maior parte do código P: E a tag <script> no JavaScript ocorre inteiramente no
navegador sem carregar uma nova
JavaScript é executada quando código House Finder... é
HTML ou JavaScript? página, eliminando a transmissão
algo ocorre na página como, por
exemplo, a página sendo carregada
ou o usuário clicando um botão. Um
R: A própria tag <script> é
desnecessária de dados para um
servidor. Não só isso, mas grande
HTML e sua finalidade é fornecer um parte do que o JavaScript tem a
mecanismo JavaScript conhecido meio de misturar o código do script oferecer em termos de interatividade
como “evento” permite a você com o código HTML. O código que não pode ser feita de nenhuma outra
inicializar uma parte do código aparece dentro da tag <script> maneira sem complementos do
JavaScript quando algo de interesse é o código JavaScript. Como a tag navegador de terceiros.
ocorre na página.
Usuários
beta irados Ele não responde!
congestionando
as linhas
de suporte
técnico. Há algo errado com
meu navegador?
Apenas dê um sinal!
Poder do
Você acha que são os cliques
do meu mouse? cérebro
...com a
4 Adicione uma sub-rotina de eventos atividade
para quando os usuários clicarem na designada.
rocha, o código escrito na etapa 3
seja executado.
16 Capítulo 1
web interativa
<body>
...
‘Test drive’
Antes de avançar mais, grave e teste sua página Web iRock em seu navegador
Web. Certifique-se de que a sua esteja parecida com a nossa, pois você começará a
adicionar alguma interatividade, no estilo JavaScript.
Não existem
Perguntas Idiotas
P: Este CSS está na tag <div>?
R: Certamente. Boa pergunta.
P: Pensei que fosse realmente uma má idéia
colocar o CSS diretamente em uma página
HTML. O que acontece?
18 Capítulo 1
web interativa
Não estresse os
eventos.
As funções são partes Relaxe
Se todo esse
reutilizáveis do código negócio de eventos
O texto a ser exibido parecer uma tortura, não se
<html>
<head>
>
<title>iRock - A rocha virtual de estimação </title
</head>
ção.’);”>
<body onload=”alert(‘Hello, eu sou a rocha de estima
Mesmo que o <div style=”margin-top: 100px; text-a lign:c enter”
<img id=”rockImg” src=”rock.png” alt=”iRock” />
>
defini-lo como um
<head>
...
atributo da tag
</head>
<body>
20 Capítulo 1
web interativa
Não existem
Pontos de Bala
Perguntas Idiotas
P: De onde vêm os eventos? P: Existem outras funções ■ Os eventos são usados para
responder aos acontecimentos
R: predefinidas como a função
Embora os eventos sejam iniciados alert( )?
por um usuário, eles vêm basicamente
da página Web com o código
do navegador. Por exemplo: uma “tecla R: Sim, muitas. alert( ) é apenas
JavaScript.
pressionada” é um evento inicializado a ponta do iceberg quanto ao código
pelo usuário, mas o navegador deve JavaScript reutilizável e predefinido. ■ O evento onload é
integrar informações sobre o evento Falaremos sobre as funções padrões inicializado quando uma
(tipo qual tecla foi pressionada) e, então, quando virmos os recursos do
transmiti-las para uma função que foi
página termina da carregar.
JavaScript. No final do livro, você até
designada a responder ao evento. estará criando suas próprias funções
personalizadas. ■ Você responde ao evento
P: O que acontece com os
eventos que não têm um código
ligado a eles?
P: Por que o código onload
do iRock mistura aspas e
onload definindo o atributo
onload da tag <body>.
Bien plus que des documents.
Découvrez tout ce que Scribd a à offrir, dont les livres et les livres audio des principaux éditeurs.
Annulez à tout moment.