Como usaremos o navegador como ambiente de demonstração, vamos ver algumas funções para interagir com o usuário: alert
, prompt
e confirm
.
Este nós já vimos. Mostra uma mensagem e espera que o usuário pressione “OK”.
Por exemplo:
alerta("Olá");
A minijanela com a mensagem é chamada de janela modal . A palavra “modal” significa que o visitante não pode interagir com o resto da página, pressionar outros botões, etc, até que tenha lidado com a janela. Neste caso – até pressionarem “OK”.
O prompt
da função aceita dois argumentos:
resultado = prompt(título, [padrão]);
Mostra uma janela modal com uma mensagem de texto, um campo de entrada para o visitante e os botões OK/Cancelar.
title
O texto a ser mostrado ao visitante.
default
Um segundo parâmetro opcional, o valor inicial do campo de entrada.
Os colchetes na sintaxe [...]
Os colchetes em torno default
na sintaxe acima indicam que o parâmetro é opcional, não obrigatório.
O visitante pode digitar algo no campo de entrada do prompt e pressionar OK. Então obtemos esse texto no result
. Ou eles podem cancelar a entrada pressionando Cancelar ou pressionando a tecla Esc , então obtemos null
como result
.
A chamada para prompt
retorna o texto do campo de entrada ou null
se a entrada foi cancelada.
Por exemplo:
deixe idade = prompt('Quantos anos você tem?', 100); alert(`Você tem ${age} anos!`); // Você tem 100 anos!
No IE: sempre forneça um default
O segundo parâmetro é opcional, mas se não for fornecido, o Internet Explorer irá inserir o texto "undefined"
no prompt.
Execute este código no Internet Explorer para ver:
deixe teste = prompt("Teste");
Portanto, para que os prompts tenham uma boa aparência no IE, recomendamos sempre fornecer o segundo argumento:
deixe teste = prompt("Teste", ''); // <-- para IE
A sintaxe:
resultado = confirme(pergunta);
A função confirm
mostra uma janela modal com uma question
e dois botões: OK e Cancelar.
O resultado é true
se OK for pressionado e false
caso contrário.
Por exemplo:
let isBoss = confirm("Você é o chefe?"); alerta(isBoss); // verdadeiro se OK for pressionado
Abordamos três funções específicas do navegador para interagir com os visitantes:
alert
mostra uma mensagem.
prompt
mostra uma mensagem solicitando ao usuário que insira texto. Ele retorna o texto ou, se o botão Cancelar ou Esc for clicado, null
.
confirm
mostra uma mensagem e espera que o usuário pressione “OK” ou “Cancelar”. Ele retorna true
para OK e false
para Cancel/ Esc .
Todos esses métodos são modais: eles pausam a execução do script e não permitem que o visitante interaja com o resto da página até que a janela seja fechada.
Existem duas limitações compartilhadas por todos os métodos acima:
A localização exata da janela modal é determinada pelo navegador. Geralmente, está no centro.
A aparência exata da janela também depende do navegador. Não podemos modificá-lo.
Esse é o preço da simplicidade. Existem outras maneiras de mostrar janelas mais bonitas e uma interação mais rica com o visitante, mas se os “sinos e assobios” não importam muito, esses métodos funcionam perfeitamente.
importância: 4
Crie uma página da web que solicite um nome e o exiba.
Execute a demonstração
Código JavaScript:
deixe nome = prompt("Qual é o seu nome?", ""); alerta(nome);
A página completa:
<!DOCTYPEhtml> <html> <corpo> <roteiro> 'usar estrito'; deixe nome = prompt("Qual é o seu nome?", ""); alerta(nome); </script> </body> </html>