Jump to content


Photo

Sistema Cross-browser


  • Faça o login para participar
14 replies to this topic

#1 Leonardo ALmeida Bastos

Leonardo ALmeida Bastos

    Novato no fórum

  • Usuários
  • 16 posts
  • Sexo:Não informado

Posted 06/07/2007, 08:50

Olá pessoal,

a empresa aqui desenvolveu um sistema ECM gigantesco. O sistema foi feito com Java + faces + DOJO (Ajax) + recursos que utilizam DHTML com arquivos HTC (HTML Component da Microsoft, relativo ao XBL dos browsers Mozilla). O problema é que eu preciso fazer esse sistema ficar 100% compatível com o Mozilla Firefox e o Netscape. Não sei muita coisa de Java Script e HTC. Gostaria de saber do pessoal mais experiente se é possível fazer essa adaptação do sistema para perder a total dependência do IE e se possível gostaria de algumas sugestões, como por exemplo dicas de como alterar os arquivos .js com mais eficiência já que são centenas deles e alguns contém milhares de linhas de código.


Obrigado.

#2 bimonti

bimonti

    Super Veterano

  • Usuários
  • 2654 posts
  • Sexo:Masculino

Posted 06/07/2007, 10:22

Nunca fiz nada de complexo com HTC ... mas acho que é assim, ou 1 ou outro ... acho que terá que manter 2 versões. Até 3 se você for utilizar o Opera que trabalha com os widgets...

Desculpe pela falta de experiencia nessa área, falo como um leigo mesmo... ^^
WebFórum - Equipe de Desenvolvimento - Monitor
Posted Image
Yeah I do have some stories, and it's true I want all the glory ...

#3 Leonardo ALmeida Bastos

Leonardo ALmeida Bastos

    Novato no fórum

  • Usuários
  • 16 posts
  • Sexo:Não informado

Posted 06/07/2007, 10:58

Mas existe muita diferença entre o js interpretado no Mozilla e o js interpretado no IE?

Terei que fazer muitas modificações se for usar .js somente? Da pra fazer 1 js pra funcionar em todos os browsers?


Obrigado!

#4 bimonti

bimonti

    Super Veterano

  • Usuários
  • 2654 posts
  • Sexo:Masculino

Posted 06/07/2007, 14:04

Usar 1 arquivo js em todos é possível ... em algumas partes você terá que verificar antes se a função é suportada, exemplo:

if(elemento.attachEvent){
  // IE
}elseif(elemento.addEventListener){
  // Mozilla
}else{
  // elemento.['on'+event] = function(){}
  // último esforço de tentar fazer funcionar ... ^^
}

WebFórum - Equipe de Desenvolvimento - Monitor
Posted Image
Yeah I do have some stories, and it's true I want all the glory ...

#5 Leonardo ALmeida Bastos

Leonardo ALmeida Bastos

    Novato no fórum

  • Usuários
  • 16 posts
  • Sexo:Não informado

Posted 10/07/2007, 08:27

Eu criei um arquivo .js que verifica qual é o navegador e usei boolean pra identificar. Só não estou conseguindo acessar essas variáveis dentro de outro arquivo .js (todos eles sendo chamados dentro da mesma página). Preciso setar essas variáveis como globais ou coisa do tipo para que isto seja possível?

#6 bimonti

bimonti

    Super Veterano

  • Usuários
  • 2654 posts
  • Sexo:Masculino

Posted 10/07/2007, 09:28

Em javascript você não checa pelo navegador, faz a checagem pela função que será usada. As vezes a mesma função não funciona em versões diferentes do mesmo navegador (difícil, mas verdadeiro). Veja só:

if(document.all){
  // Somente o IE
}elseif(document.getElementById){
  // Navegadores mais novos, inclusive o IE
}

WebFórum - Equipe de Desenvolvimento - Monitor
Posted Image
Yeah I do have some stories, and it's true I want all the glory ...

#7 Leonardo ALmeida Bastos

Leonardo ALmeida Bastos

    Novato no fórum

  • Usuários
  • 16 posts
  • Sexo:Não informado

Posted 10/07/2007, 10:17

Mas a forma que estou fazendo atende as necessidades dos navegadores do cliente:


if(navigator.appName.indexOf('Internet Explorer')>0){
ie = true;

}else{
moz = true;
}


Acabei de perceber que o meu problema é muito maior do que eu pensava. Como o sistema foi feito pensando somente no IE, o Firefox não reconhece muitas tags e atributos HTML, além de não reconhecer também muito do CSS.

Eu imagino que haja algum analisador JavaScript pra Firefox, assim como um verificador de html e css. O problema do debugger do FF é que ele não está mostrando erro algum quando a página é carregada.

Edição feita por: Leonardo ALmeida Bastos, 10/07/2007, 10:19.


#8 bimonti

bimonti

    Super Veterano

  • Usuários
  • 2654 posts
  • Sexo:Masculino

Posted 11/07/2007, 10:51

É o contrário ... o Console de Erros do FF é muito melhor que o do IE. O Console padrão funciona muito bem, existem outras opções como o FireBug. Mas se não está mostrando é porque não tem erro para mostrar, ou você usou uma propriedade exclusiva do IE.

Confira a lista de suporte: http://developer.mozilla.org
WebFórum - Equipe de Desenvolvimento - Monitor
Posted Image
Yeah I do have some stories, and it's true I want all the glory ...

#9 Leonardo ALmeida Bastos

Leonardo ALmeida Bastos

    Novato no fórum

  • Usuários
  • 16 posts
  • Sexo:Não informado

Posted 13/07/2007, 12:00

Olá,

estou tendo algum progresso na tarefa. O problema é que o Netscape 7.02 apresenta mais problemas do que o FireFox. Será que é por causa da versão?

Tenho um menu em tree que só nao funciona no Netscape... Funciona no Mozilla 1.7.3 e no FireFox 2.0.0.4

#10 bimonti

bimonti

    Super Veterano

  • Usuários
  • 2654 posts
  • Sexo:Masculino

Posted 13/07/2007, 13:49

"Humm, entendo rabinho..." - Edson

O que acontece no NetScape ? Dá alguma erro ? Você verificou se as funções são suportadas no NN ?

A propósito, você usa qual programa pra desenvolver, o Dreamweaver ?!
WebFórum - Equipe de Desenvolvimento - Monitor
Posted Image
Yeah I do have some stories, and it's true I want all the glory ...

#11 Leonardo ALmeida Bastos

Leonardo ALmeida Bastos

    Novato no fórum

  • Usuários
  • 16 posts
  • Sexo:Não informado

Posted 19/07/2007, 18:09

Ola bimonti,

estou usando o Eclipse para desenvolver. O sistema é feito em Java e utiliza JSF.

O Netscape e o Mozilla estão apresentando dois grandes problemas. Se você me der qualquer dica já ajuda demais.

Tanto no Netscape quanto no mozilla, ao carregar a aplicacao (que e carregada em um pop up), aparece assim:


Posted Image

Ou seja, e como se eu tivesse clicando com o botao direito a cada link...

#12 bimonti

bimonti

    Super Veterano

  • Usuários
  • 2654 posts
  • Sexo:Masculino

Posted 20/07/2007, 14:05

Não entendi .. abre a aplicação com o menu de contexto aberto ?
WebFórum - Equipe de Desenvolvimento - Monitor
Posted Image
Yeah I do have some stories, and it's true I want all the glory ...

#13 Leonardo ALmeida Bastos

Leonardo ALmeida Bastos

    Novato no fórum

  • Usuários
  • 16 posts
  • Sexo:Não informado

Posted 24/07/2007, 08:57

É isso mesmo... a cada link clicado abre o menu. Mas isso só ocorre nos Mozilla e Netscape mais antigos.

#14 bimonti

bimonti

    Super Veterano

  • Usuários
  • 2654 posts
  • Sexo:Masculino

Posted 24/07/2007, 09:02

Nunca vi esse tipo de comportamento. Existe alguma função no evento onload ou alguma função disparada ao clicar em algum link ?

Outra hipótese, é a propagação de eventos. Um elemento dispara o evento de abrir o menu de contexto, mas mesmo sem ser clicado ele dispara em outros elementos. É muito remota mas não custa dar uma olhada. No FF é stopPropagation(), tem também o preventDefault() ... são algumas sugestões, não custa olhar.
WebFórum - Equipe de Desenvolvimento - Monitor
Posted Image
Yeah I do have some stories, and it's true I want all the glory ...

#15 Leonardo ALmeida Bastos

Leonardo ALmeida Bastos

    Novato no fórum

  • Usuários
  • 16 posts
  • Sexo:Não informado

Posted 24/07/2007, 14:41

Valeu bimonti. Depois vou testar. Eu realmente nao sei se esta sendo feita alguma chamada no javascript pois o sistema tem mais de 300 arquivos .js


Mas depois vou testar o que voce sugeriu. Obrigado pela ajuda!




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq