Criar Web, manuais e recursos para desenvolvimento web
Manuais
Programas
FAQS
Diretório
Comunidade
  Inicio > Manuais > Workshop de Javascript
SEÇÕES
Manuais relacionados
+Workshop de Javascript
Categorias
+Javascript
+Scripts em Javascript

Índice do Manual Workshop de Javascript
+ Efeitos rápidos com Javascript
+ Abertura e configuração de popups com Javascript
+ Acessso por senha Javascript
+ Rollover com Javascript
+ Navegador dinâmico Javascript
+ Navegador desdobrável
+ Navegador desdobrável com frames
+ Texto em movimento na barra de estado
+ Marcar ou desmarcar todos os checkboxes de um formulário com Javascript
+ Desabilitar o menu contextual do navegador com Javascript
+ Relógio em Javascript
+ Scripts diferentes para cada navegador
+ Tamanho dos campos relativo ao navegador
+ Estilos diferentes para cada navegador
+ Tabela de cores com Javascript
+ Sub-menu em outra janela
+ Degradê de cor Javascript
+ Validar inteiro no campo de formulário
+ Exemplos de funcionamento da classe String
+ Exemplo de funcionamento de Date
+ Link aleatório Javascript
+ Geração de números aleatórios Javascript
+ Comprovar se as senhas são iguais
+ Ex. de trabalho com formulários. Calculadora simples
+ Enviar ao navegador a outra página se não tiver Javascript
+ Confirmação de envio de formulário
+ Javascript para se posicionar em um select
+ Inibir um campo texto de formulário com Javascript
+ Camadas com Internet Explorer 5, 6, Netscape 6, 7 e Opera
+ Mostrar e ocultar camadas com IE 5,6 NS 6,7
+ Movimento de Camadas com IE 5,6 NS 6,7
+ Escritura nas Camadas com IE 5, 6, NS 6, 7
+ Como iluminar tabelas, células ou filas
+ Inibir radio button com Javascript
+ Atualizar dois frames com um só link
+ Calcular a idade em Javascript
+ Iluminar formulários com CSS e Javascript
+ Autozoom de texto com Javascript
+ Javascript para evitar que a página se mostre em um frame
+ Elementos de formulário select associados
+ Conta os caracteres escritos em um textarea
+ Passo de parâmetros em HTML com client-side Javascript
+ Moldura dinâmica em Javascript com texto que muda
+ Criação de gráficos de barras com Javascript
+ Jogos em Javascript
+ Cross-Browser. DHTML compatível com todos os navegadores.
+ HTML Area. Editor WYSIWYG
+ Ocultar um e-mail de um link para evitar o spam
+ Função em Javascript para a inserção de datas
+ DHTML Calendar
+ Gerar uma cor aleatória com Javascript
+ A aprendizagem na Internet
+ Menu Dinâmico com Javascript
+ Página que muda aleatoriamente a cor de fundo
+ Script de recarregamento da página com Javascript
+ Mudar a cor às células de uma tabela com Javascript
+ Pop-ups DHTML – OpenPopups
+ Validar a extensão de um arquivo a subir com Javascript
+ Detectar a resolução da tela do usuário com Javascript
+ Esconder a URL de um link na barra de estado
+ Como integrar conteúdo RSS em minha página?
+ Fazer com que um iframe se ajuste à altura de uma janela com Javascript
+ É vantajoso o uso de ParseInt para validar números?
+ Efeito para desabilitar/habilitar o fundo da Página
+ Validar número de checkbox marcados com Javascript
+ Evitar que um textarea supere um número de caracteres permitidos

Descrição dos capítulos

Parceiros
- CSS para Web Design
- S.O.S Designers
- Slackware-Brasil
- Crie seu Web site
- Oficina da Net


Scripts diferentes para cada navegador

Vemos como incluir de uma maneira simples uma biblioteca de scripts diferentes para cada navegador.


Um dos maiores problemas que um programador encontra na hora de criar páginas com DHTML é lidar com os diferentes modelos de objetos que têm cada um dos navegadores, e cujas diferenças não só se dão com os navegadores das distintas companhias, como também entre a mesma companhia há diferenças na modalidade dos objetos dependendo das versões. Por exemplo, o modelo de objetos de Netscape 6 é diferente do modelo de objetos de Netscape 4.

Tudo isto nos cria o problema na hora de escrever scripts de ter que duplicar o código de cada uma das nossas funções dependendo do navegador que se utiliza. Devido à grande variedade de navegadores e versões disponíveis, isto faz com que nossas funções acabem sendo muito maiores e mais ilegíveis do que o esperado.

Uma solução para este problema é a criação de diferentes arquivos que contenham os scripts para cada um dos navegadores que existem, ligando no momento do carregamento da página com o arquivo de scripts do navegador e a versão que estamos utilizando. Desta forma, os scripts são muito mais simples já que um script se criará enfocado a uma só versão, e ademais, no caso de que saia no mercado um novo navegador com um modelo de objetos diferente, não teremos que mudar todos nossos scripts, simplesmente bastará modificar o script que detecta o navegador, e em seguida escrever um novo arquivo que contenha os mesmos scripts que os anteriores, mas com o novo modelo de objetos.

O seguinte código pretende ser um exemplo reduzido do anteriormente exposto.

Nosso objetivo será diferenciar entre Netscape e Internet Explorer, de forma que ao clicar sobre um único botão, apareça uma mensagem de alerta diferente dependendo do navegador que utilizarmos.

O primeiro passo é a criação dos diferentes arquivos que vão conter os scripts específicos para cada um dos navegadores. Em nosso caso serão dois arquivos, um que chamaremos Internet.js que conterá os scripts para Internet Explorer, e outro chamado Netscape.js que conterá os scripts para Netscape. O conteúdo de Internet.js será o seguinte:

function mostraAlerta(){
   alert("Estou utilizando IE")
}


O conteúdo de Nescape.js será o seguinte:

function mostraAlerta(){
   alert("Estou utilizando NS")
}


Por outro lado, no cabeçalho de cada uma das páginas, deveremos incluir um script que ligue a cada um dos navegadores, dependendo do que utiliza o usuário.

<script language="javascript">

ns=(document.layers)? true:false
ie=(document.all)? true:false

ponNs="<script language='javascript1.2' src='netscape.js'> <\/script>"
ponIe="<script language='javascript1.2' src='internet.js'> <\/script>"

if (ns) {document.write(colocarNs)}
if (ie) {document.write(colocarIe)}

</script>


* Observem na contra-barra "\" colocada antes da barra "/"
em </script> nos document.write().

Por último incluímos no corpo da página um botão que chama à função que está definida dentro dos arquivos de scripts:

<input type="button" value="Clicar" onclick="mostraAlerta()">

De forma que a página fique com o seguinte aspecto:


<html>
<head>
   <title>Untitled</title>
<script language="javascript">

ns=(document.layers)? true:false
ie=(document.all)? true:false

ponNs="<script language='javascript1.2' src='netscape.js'> <\/script>"

ponIe="<script language='javascript1.2' src='internet.js'> <\/script>"

if (ns) {document.write(colocarNs)}

if (ie) {document.write(colocarIe)}

</script>

</head>

<body>

<form>
<input type="button" value="Clicar" onclick="mostraAlerta()">
</form>

</body>
</html>

Autoria e outras referências sobre este artigo

Manuais relacionados com este artigo
Dentro de Workshop de Javascript

Categorias relacionadas
Através das categorias do nosso diretório podem ser encontrados outros tipos de recursos relacionados com este artigo:
+ Entrar em Javascript
+ Entrar em Scripts em Javascript


Comentários dos visitantes
Os comentários dos visitantes são para ampliar a informação do artigo. Todos podem participar.
Acrescentar um comentário do artigo Acrescentar um comentário do artigo



Sobre nós | Copyright | Anuncie | Entrar em contato <criarweb>

Hospedado por Hostnet Hospedagem de Sites