Luiz Henrique escreveu:
> Existem alguns sites que não funcionam corretamente no Firefox.
> Aqui tenho dois bons exemplos:
> https://servicos.vivo.com.br/
> http://www.netlaudo.com.br/
> Alguém tem alguma idéia de como sanar esse "probleminha" sem apelar para a
> emulação do Ruindows Internet Explorer?
> Desde já muito obrigado a todos!
>
Olá,
Geralmente esses problemas ocorrem por JavaScript gerados por
ferramentas da Microsoft que não atendem o padrão especificado pelo W3C,
porém são reconhecidos pelo MS Internet Explorer.
Peguei o da Vivo, e "hackiei", para exemplificar:
- Abri o navegador Mozilla Firefox
- Abri o console de erros em "Ferramentas -> Console de erros"
- Digitei o endereço da Vivo
- Carregada a página, digitei o DDD e já apareceram dois erro iguais no
console:
"
Erro: event is not defined
Arquivo-fonte:
https://servicos.vivo.com.br/VOLWeb/resources/js/funcoesVol.js
Linha: 256
"
- Clicando em cima do erro, vemos o código com problema:
"
function validaEntradaCampoNumerico(campo)
{
// Mapa de keyCode: 8 => Backspace | 9 => Tab | 16 => Shift Tab | 35 => End
| 36 => Home | 37 => Seta Esquerda | 39 => Seta Direita | 46 => Delete
if (event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 16 ||
event.keyCode == 35 || event.keyCode == 36 || event.keyCode == 37 ||
event.keyCode == 39 || event.keyCode == 46)
{
return;
}
s = campo.value;
while (s.length != 0 && !isNumerico(s))
{
s = s.substring(0, s.length - 1);
}
campo.value = s;
} /* validaEntradaCampoNumerico */
"
- Esse código deveria ter antes um teste para "saber" como tratar o
código da tecla pressiona visto que o IE foge aos padrões W3C e os
outros navegadores não:
"
function validaEntradaCampoNumerico(campo, evento)
{
if(window.event) // IE
{
keynum = evento.keyCode;
}
else if(evento.which) // Netscape/Firefox/Opera/etc
{
keynum = evento.which;
}
// Usar agora "keynum" ao invés de "event.KeyCode"
. . .
"
Como resolver isso? Esperar que a União Européia se mova e mova uma ação
contra a Microsoft por não respeitar padrões e obrigue que está em um
determinado intervalo de tempo "conserte" suas ferramentas e avise todos
os usuários destas para se adequarem aos padrões abertos internacionais
para interorperabilidade, além de multa altíssima para forçar com que a
Microsoft se mexa. Ou então fazer como faço: bombardear com mensagem e
ligações, além de registrar nos órgãos competentes, como Anatel por
exemplo, o protocolo de atendimento para consertar o problema, além de
pedir para todos prejudicados com essa atitude da Microsoft e os
usuários de suas ferramentas fazerem o mesmo. Outra forma é gravar a
página localmente e fazer você mesmo as alterações.
[]'s
Junior Polegato
---------------------------------------------------------------------------
Esta lista é patrocinada pela Conectiva S.A. Visite http://www.conectiva.com.br
Arquivo: http://bazar2.conectiva.com.br/mailman/listinfo/linux-br
Regras de utilização da lista: http://linux-br.conectiva.com.br
FAQ: http://www.zago.eti.br/menu.html