erlug
[Top] [All Lists]

Re: [Erlug] Incompatibilità Javascript-firefox?

To: ERlug - Lista Pubblica <erlug@xxxxxxxxxxxxxx>
Subject: Re: [Erlug] Incompatibilità Javascript-firefox?
From: Stefano Rosanelli <ste@xxxxxxxxx>
Date: Sun, 4 Feb 2007 14:36:24 +0100
Alle 16:13, venerdì 2 febbraio 2007, alessandrolodigiani@xxxxxxxxxxx ha 
scritto:
> che funzionano correttamente solo sotto internet explorer e non con
> firefox; nella fattispecie sono alcune funzioni javascript che su
> firefox non vengono eseguite, bloccando di fatto l'esecuzione del
> programma.

Alcuni rapidi consigli:
- controlla la console Javascript, o 'Console degli errori', se c'e' un 
errore js bloccante dovresti trovarlo li' con una spiegazione minimale
- se non basta puoi usare estensioni carine tipo web developer 
[http://chrispederick.com/work/webdeveloper/] o 'pseudo ambienti di 
sviluppo' tipo firebug [http://getfirebug.com/], ma tornano veramente 
utili quando hai preso un po' di dimestichezza con i web standards...
- al 90% questi problemi sono legati a un uso errato del DOM; nel corso 
degli anni molti sviluppatori hanno scritto codice di questo tipo per 
referenziare un campo di una form, pensando di seguire un qualche 
standard:
 * document.forms[0].nome-dell-elemento
 * document.nome-della-form.nome-dell-elemento
Che funzionano a volte, dipende, si spera...sono estensioni 
proprietarie, non standard condivisi. Mentre se segui correttamente il 
DOM-W3C userai:
 * document.getElementById('id-elemento')
che funzionera' sempre!

> ma il fatto che ci sia una serie di funzioni javascript 
> che funziona solo sotto internet explorer e che tali funzioni vengono
> assunte come standard quando in realtà non lo sono...è vera sta
> cosa?e come posso fare a risolvere il problema?(plugin, tag
> particolari,ecc.?)

Come regola generale: se una funzione 'va' su IE ma non su Firefox/Opera 
non e' standard [vero al 99% nella mia personale casistica] [1][2].
Lo standard a cui aderiscono tutti i browser piu' importanti e' 
ECMAscript-262 per Javascript, mentre per la manipolazione dell'albero 
(X)HTML lo standard e' il W3C DOM: con un minimo di attenzione si puo' 
scrivere del sano codice portabile. (attenzione == fatica et studio 
ahime! ;-) )
Ogni browser poi ha le sue estensioni... basta non usarle, o usarle 
consapevolmente.
Ma, come ti hanno gia' consigliato, se devi fare cose un po' piu' spinte 
o sei finito anche tu nel tunnel AJAX e vuoi sentirti intimamente molto 
web-due-punto-zero ;-) meglio affidarsi a librerie tipo prototype.

HTH
Ste

[1]
la stessa regola la puoi applicare tranquillamente a problematiche CSS
[2]
una buona spiegazione di cosa sono gli standard del web la trovi qui 
http://webstandards.org/about/mission/it/

<Prev in Thread] Current Thread [Next in Thread>