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/
|