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

Responder a