Confronta le versioni

Migrare applicazioni da Internet Explorer a Mozilla

Versione 139397:

Versione 139397 di Leofiore del

Versione 139398:

Versione 139398 di krusch del

Titolo:
Migrare applicazioni da Internet Explorer a Mozilla
Migrare applicazioni da Internet Explorer a Mozilla
Slug:
Migrare_applicazioni_da_Internet_Explorer_a_Mozilla
Migrare_applicazioni_da_Internet_Explorer_a_Mozilla
Etichette:
Tutte_le_categorie, Da_unire, Sviluppo_Web, Standard_Web
Tutte_le_categorie, Da_unire, Sviluppo_Web, Standard_Web
Contenuto:

Versione 139397
Versione 139398
nn10    <p>
11      &nbsp;
12    </p>
10    <h3 name="Introduzione">13    <h3 id="Introduzione" name="Introduzione">
n42    <h3 name="Consigli_generali_di_programmazione_cross-browser">n45    <h3 id="Consigli_generali_di_programmazione_cross-browser" na
 >me="Consigli_generali_di_programmazione_cross-browser">
n87      Il codice soprastante ha ancora il problema del <i>browser n90      Il codice soprastante ha ancora il problema del <em>browser
>sniffing</i>, o le rilevazione del browser che l'utente sta usand> sniffing</em>, o le rilevazione del browser che l'utente sta usa
>o. Il browser sniffing viene solitamente eseguito attraverso lo u>ndo. Il browser sniffing viene solitamente eseguito attraverso lo
>seragent, come ad esempio:> useragent, come ad esempio:
n129      Oppure un'altra maniera è l'uso dell'operatore <tt>||</tt>:n132      Oppure un'altra maniera è l'uso dell'operatore <code>||</co
 >de>:
n137      <br>n140      &nbsp;
n139    <h3 name="Differenze_tra_Mozilla_e_Internet_Explorer">n142    <h3 id="Differenze_tra_Mozilla_e_Internet_Explorer" name="Dif
 >ferenze_tra_Mozilla_e_Internet_Explorer">
n146      <br>n149      &nbsp;
n148    <h4 name="Tooltip">n151    <h4 id="Tooltip" name="Tooltip">
n154    <h4 name="Entit.C3.A0">n157    <h4 id="Entit.C3.A0" name="Entit.C3.A0">
n176    <h3 name="Differenze_del_DOM">n179    <h3 id="Differenze_del_DOM" name="Differenze_del_DOM">
n180      Il Document Object Model (DOM) è la '<i>struttura ad alberon183      Il Document Object Model (DOM) è la '<em>struttura ad alber
> che contiene gli elemendi del documento</i>. Si può manipolarlo >o che contiene gli elemendi del documento</em>. Si può manipolarl
>tramite le API JavaScript, che il W3C ha reso standard. In ogni c>o tramite le API JavaScript, che il W3C ha reso standard. In ogni
>aso, prima della standardizzazione del W3c, Netscape 4 ed Interne> caso, prima della standardizzazione del W3c, Netscape 4 ed Inter
>t Explorer 4 implementavano delle API simili. Mozilla implementa >net Explorer 4 implementavano delle API simili. Mozilla implement
>solo le vecchie API che non sono riprodotte dagli standard W3C>a solo le vecchie API che non sono riprodotte dagli standard W3C
181    </p>
182    <p>184    </p>
183      <br>
184    </p>185    <p>
185    <h4 name="Accedere_agli_elementi">186      &nbsp;
187    </p>
188    <h4 id="Accedere_agli_elementi" name="Accedere_agli_elementi"
 >>
n201      <br>n204      &nbsp;
n234    <h4 name="Attraversare_il_DOM">n237    <h4 id="Attraversare_il_DOM" name="Attraversare_il_DOM">
n487      <br>n490      &nbsp;
n505      <br>n508      &nbsp;
n507    <h4 name="Generare_e_manipolare_contenuto">n510    <h4 id="Generare_e_manipolare_contenuto" name="Generare_e_man
 >ipolare_contenuto">
n587    <h4 name="Frammenti_del_documento">n590    <h4 id="Frammenti_del_documento" name="Frammenti_del_document
 >o">
n591      per ragioni di performance, è possibile creare il documenton594      per ragioni di performance, è possibile creare il documento
> in memoria piuttosto che lavorare nel DOM del documento esistent> in memoria piuttosto che lavorare nel DOM del documento esistent
>e. La specifica DOM Level 1 Core ha introdotto i <b>document frag>e. La specifica DOM Level 1 Core ha introdotto i <strong>document
>ments</b> (frammenti di documento), ovvero documenti leggeri che > fragments</strong> (frammenti di documento), ovvero documenti le
>contengono un sottoinsieme della normale interfaccia del document>ggeri che contengono un sottoinsieme della normale interfaccia de
>o. Ad esempio, <code>getElementById</code> non esiste, al contrar>l documento. Ad esempio, <code>getElementById</code> non esiste, 
>io di <code>appendChild</code>. Inoltre è possbile aggiungere fac>al contrario di <code>appendChild</code>. Inoltre è possbile aggi
>ilmente frammenti di documento al documento esistente.>ungere facilmente frammenti di documento al documento esistente.
n599    <h3 name="Differenze_di_JavaScript">n602    <h3 id="Differenze_di_JavaScript" name="Differenze_di_JavaScr
 >ipt">
n606      <br>n609      &nbsp;
n608    <h4 name="Differenza_di_Date_in_JavaScript">n611    <h4 id="Differenza_di_Date_in_JavaScript" name="Differenza_di
 >_Date_in_JavaScript">
n614    <h4 name="Differenze_nell.27esecuzione_di_JavaScript">n617    <h4 id="Differenze_nell.27esecuzione_di_JavaScript" name="Dif
 >ferenze_nell.27esecuzione_di_JavaScript">
n658    <h4 name="Differenza_nella_generazione_di_HTML_con_JavaScriptn661    <h4 id="Differenza_nella_generazione_di_HTML_con_JavaScript" 
>">>name="Differenza_nella_generazione_di_HTML_con_JavaScript">
n662      Javascript può, attraverso <code>document.write</code>, genn665      Javascript può, attraverso <code>document.write</code>, gen
>erare HTML al volo da una stringa. Il primo problema qui si ha qu>erare HTML al volo da una stringa. Il primo problema qui si ha qu
>ando JavaScript, inserito all'interno del documento HTML (cioè al>ando JavaScript, inserito all'interno del documento HTML (cioè al
>l'interno dei tag <code>&lt;script&gt;</code>), genera HTML che c>l'interno dei tag <code>&lt;script&gt;</code>), genera HTML che c
>ontiene un tag <code>&lt;script&gt;</code>. Se il documento è nel>ontiene un tag <code>&lt;script&gt;</code>. Se il documento è nel
> modo di impaginazione <b>strict</b>, verrà effettuato il parsing> modo di impaginazione <strong>strict</strong>, verrà effettuato 
> di <code>&lt;script&gt;</code> all'interno della stringa fino al>il parsing di <code>&lt;script&gt;</code> all'interno della strin
> tag di chiusura di <code>&lt;script&gt;</code>. Il codice seguen>ga fino al tag di chiusura di <code>&lt;script&gt;</code>. Il cod
>te illustra meglio questa situazione:>ice seguente illustra meglio questa situazione:
n673      Dato che la pagina è in modo <b>strict</b>, il parser di Mon676      Dato che la pagina è in modo <strong>strict</strong>, il pa
>zilla vedrà prima <code>&lt;script&gt;</code> ed effettuerà il pa>rser di Mozilla vedrà prima <code>&lt;script&gt;</code> ed effett
>rsing fino a trovare un tag di chiusura, che sarà la prima occorr>uerà il parsing fino a trovare un tag di chiusura, che sarà la pr
>enza di <code>&lt;/script&gt;</code>. Questo perché il parser non>ima occorrenza di <code>&lt;/script&gt;</code>. Questo perché il 
> è a conoscenza di JavaScript (o altri linguaggi) nella modalità >parser non è a conoscenza di JavaScript (o altri linguaggi) nella
><b>strict</b>. Nel modo <b>quirks</b>, il parser tiene conto di J> modalità <strong>strict</strong>. Nel modo <strong>quirks</stron
>avaScript nella sua esecuzione (il che lo rallenta). Internet Exp>g>, il parser tiene conto di JavaScript nella sua esecuzione (il 
>lorer è sempre in modalità <b>quirks</b>, poiché non supporta ver>che lo rallenta). Internet Explorer è sempre in modalità <strong>
>amente XHTML. Per fare in modo che il funzionamento sia lo stesso>quirks</strong>, poiché non supporta veramente XHTML. Per fare in
> in Mozilla, basta separare la stringa in due parti:> modo che il funzionamento sia lo stesso in Mozilla, basta separa
 >re la stringa in due parti:
n683    <h4 name="Debug_di_JavaScript">n686    <h4 id="Debug_di_JavaScript" name="Debug_di_JavaScript">
n687      Mozilla fornisce diversi modi per il debugging di problemi n690      Mozilla fornisce diversi modi per il debugging di problemi 
>legati a JavaScript trovati in applicazioni create per Internet E>legati a JavaScript trovati in applicazioni create per Internet E
>xplorer. Il primo strumento è la console JavaScript integrata, mo>xplorer. Il primo strumento è la console JavaScript integrata, mo
>strata in figura 1, dove errori ed avvertenze sono registrate. Vi>strata in figura 1, dove errori ed avvertenze sono registrate. Vi
> si può accedere in Mozilla andando su <b>Tools -&gt; Web Develop> si può accedere in Mozilla andando su <strong>Tools -&gt; Web De
>ment -&gt; JavaScript Console</b> o in Firefox (il prodotto solo >velopment -&gt; JavaScript Console</strong> o in Firefox (il prod
>browser di Mozilla) da <b>Tools -&gt; JavaScript Console</b>.>otto solo browser di Mozilla) da <strong>Tools -&gt; JavaScript C
 >onsole</strong>.
n694      <img alt="Console Javascript" fileid="1601" src="File:it/Men697      <img alt="Console Javascript" class="internal" src="/@api/d
>dia_Gallery/Migrationguide-jsconsole.jpg">>eki/files/1601/=Migrationguide-jsconsole.jpg">
n700      La console permette inoltre di valutare espressioni JavaScrn703      La console permette inoltre di valutare espressioni JavaScr
>ipt. Per fare una prova della sinatssi JavaScript, inserire <code>ipt. Per fare una prova della sinatssi JavaScript, inserire <code
>>1+1</code> nel campo di input e premere <b>Evaluate</b>,come mos>>1+1</code> nel campo di input e premere <strong>Evaluate</strong
>trato dalla Figura 2.>>,come mostrato dalla Figura 2.
n706      <img alt="JavaScript Console evaluating" fileid="1600" src=n709      <img alt="JavaScript Console evaluating" class="internal" s
>"File:it/Media_Gallery/Migrationguide-jsconsole-eval.jpg">>rc="/@api/deki/files/1600/=Migrationguide-jsconsole-eval.jpg">
707    </p>
708    <p>710    </p>
711    <p>
709      Il motore JavaScript di Mozilla ha un supporto integrato pe712      Il motore JavaScript di Mozilla ha un supporto integrato pe
>r il debugging, ovvero fornisce strumenti potenti per gli svilupp>r il debugging, ovvero fornisce strumenti potenti per gli svilupp
>atori JavaScript. Venkman, mostrato nella Figura 3, è un potente >atori JavaScript. Venkman, mostrato nella Figura 3, è un potente 
>debugger JavaScript multipiattaforma integrato con Mozilla. usual>debugger JavaScript multipiattaforma integrato con Mozilla. usual
>mente viene incluso insieme con le varie release di Mozilla; si p>mente viene incluso insieme con le varie release di Mozilla; si p
>uò trovare in <b>Tools -&gt; Web Development -&gt; JavaScript Deb>uò trovare in <strong>Tools -&gt; Web Development -&gt; JavaScrip
>ugger</b>. Firefox non include ill debugger; invece, si può insta>t Debugger</strong>. Firefox non include ill debugger; invece, si
>llarlo dalla <a class="external" href="http://www.mozilla.org/pro> può installarlo dalla <a class="external" href="http://www.mozil
>jects/venkman/">pagina del progetto Venkman</a>. Sono disponibili>la.org/projects/venkman/">pagina del progetto Venkman</a>. Sono d
> anche dei tutorial nella pagina di sviluppo, situati nella <a cl>isponibili anche dei tutorial nella pagina di sviluppo, situati n
>ass="external" href="http://www.hacksrus.com/%7Eginda/venkman/">p>ella <a class="external" href="http://www.hacksrus.com/%7Eginda/v
>agina di sviluppo Venkman</a>.>enkman/">pagina di sviluppo Venkman</a>.
n715      <img alt="Mozilla's JavaScript debugger" fileid="1603" src=n718      <img alt="Mozilla's JavaScript debugger" class="internal" s
>"File:it/Media_Gallery/Migrationguide-venkman.jpg">>rc="/@api/deki/files/1603/=Migrationguide-venkman.jpg">
n720    <h3 name="Differenze_sui_CSS">n723    <h3 id="Differenze_sui_CSS" name="Differenze_sui_CSS">
n729    <h4 name="Mimetypes_.28Quando_i_file_CSS_non_vengono_applicatn732    <h4 id="Mimetypes_.28Quando_i_file_CSS_non_vengono_applicati.
>i.29">>29" name="Mimetypes_.28Quando_i_file_CSS_non_vengono_applicati.29
 >">
n733      Il più comune problema legato ai CSS è dato dal fatto che ln736      Il più comune problema legato ai CSS è dato dal fatto che l
>e definizioni dei CSS all'interno di file CSS referenziati non ve>e definizioni dei CSS all'interno di file CSS referenziati non ve
>ngono applicate. Questo solitamente a causa del server che invia >ngono applicate. Questo solitamente a causa del server che invia 
>un errato mimetype per il file CSS. Le specifiche CSS indicano ch>un errato mimetype per il file CSS. Le specifiche CSS indicano ch
>e il file CSS deve essere servito con il tipo mime <code>text/css>e il file CSS deve essere servito con il tipo mime <code>text/css
></code>. Mozilla rispetta questa indicazione e carica solo file C></code>. Mozilla rispetta questa indicazione e carica solo file C
>SS con questo mimetype se la pagina web è visualizzata con in mod>SS con questo mimetype se la pagina web è visualizzata con in mod
>alità strettamente standard. Internet Explorer carica sempre il f>alità strettamente standard. Internet Explorer carica sempre il f
>ile CSS, senza tenere conto del mimetype con il quale viene servi>ile CSS, senza tenere conto del mimetype con il quale viene servi
>to. Le pagine web vengono considerate nel modo strettamente stand>to. Le pagine web vengono considerate nel modo strettamente stand
>ard quando iniziano con un doctype <b>strict</b>. Discuteremo dei>ard quando iniziano con un doctype <strong>strict</strong>. Discu
> doctype nella sezione seguente.>teremo dei doctype nella sezione seguente.
n735    <h4 name="CSS_e_unit.C3.A0">n738    <h4 id="CSS_e_unit.C3.A0" name="CSS_e_unit.C3.A0">
n739      Molte applicazioni web non usano unità con i propri CSS, spn742      Molte applicazioni web non usano unità con i propri CSS, sp
>ecialmente se viene utilizzato Javascript per impostare i CSS. Mo>ecialmente se viene utilizzato Javascript per impostare i CSS. Mo
>zilla tollera questo comportamento, nel momento in cui la pagina >zilla tollera questo comportamento, nel momento in cui la pagina 
>non viene visualizzata nel modo <b>strict</b>. Poiché Internet Ex>non viene visualizzata nel modo <strong>strict</strong>. Poiché I
>plorer non supporta XHTML, non considera per niente se vengono sp>nternet Explorer non supporta XHTML, non considera per niente se 
>ecificate delle unità. Se la pagina è in modo strettamente standa>vengono specificate delle unità. Se la pagina è in modo strettame
>rd, e nessuna unità viene usata, Mozilla ignora lo stile:>nte standard, e nessuna unità viene usata, Mozilla ignora lo stil
 >e:
n763      Dato che l'esempio mostrato ha un doctype <b>strict</b>, lan766      Dato che l'esempio mostrato ha un doctype <strong>strict</s
> pagina viene visualizzata con modo di impaginazione strettamente>trong>, la pagina viene visualizzata con modo di impaginazione st
> standard. Il primo div ha una lunghezza di 40px, poiché usa una >rettamente standard. Il primo div ha una lunghezza di 40px, poich
>unità, ma il secondo div non avrà una lunghezza, cioè tornerà all>é usa una unità, ma il secondo div non avrà una lunghezza, cioè t
>a lunghezza di default di 100%, la qual cosa accadrebbe se la ste>ornerà alla lunghezza di default di 100%, la qual cosa accadrebbe
>ssa lunghezza fosse impostata tramite JavaScript.> se la stessa lunghezza fosse impostata tramite JavaScript.
n765    <h4 name="JavaScript_e_CSS">n768    <h4 id="JavaScript_e_CSS" name="JavaScript_e_CSS">
n782      In questo modo si può raggiungere ogni attributo CSS. Ancorn785      In questo modo si può raggiungere ogni attributo CSS. Ancor
>a, se la pagina Web è in modo <i>strict</i>, va impostata una uni>a, se la pagina Web è in modo <em>strict</em>, va impostata una u
>tà o Mozilla ignorerà il comando. Nella richiesta di un valore, d>nità o Mozilla ignorerà il comando. Nella richiesta di un valore,
>iciamo per <code>.style.width</code>, in Mozilla ed Internet Expl> diciamo per <code>.style.width</code>, in Mozilla ed Internet Ex
>orer, il valore ritornato conterrà l'unità, il che implica il rit>plorer, il valore ritornato conterrà l'unità, il che implica il r
>orno di una stringa. La stringa può essere convertita attraverso >itorno di una stringa. La stringa può essere convertita attravers
><code>parseFloat("40px")</code>.>o <code>parseFloat("40px")</code>.
n784    <h4 name="Differenze_nell.27overflow_dei_CSS">n787    <h4 id="Differenze_nell.27overflow_dei_CSS" name="Differenze_
 >nell.27overflow_dei_CSS">
n788      CSS aggiunge la nozione di <i>overflow</i> (<i>traboccamentn791      CSS aggiunge la nozione di <em>overflow</em> (<em>traboccam
>o</i>), che permette di definire come gestire un traboccamento; a>ento</em>), che permette di definire come gestire un traboccament
>d esempio, quando il contenuto di un <code>div</code> con una spe>o; ad esempio, quando il contenuto di un <code>div</code> con una
>cifica altezza risulta più alto. Lo standard CSS definisce che se> specifica altezza risulta più alto. Lo standard CSS definisce ch
> non è impostato alcun comportamento nel caso di overflow, il con>e se non è impostato alcun comportamento nel caso di overflow, il
>tenuto del <code>div</code> traboccherà dallo stesso. In ogni cas> contenuto del <code>div</code> traboccherà dallo stesso. In ogni
>o, Internet Explorer non rispetta questa indicazione e va ad espa> caso, Internet Explorer non rispetta questa indicazione e va ad 
>ndere il <code>div</code> oltre l'altezza impostata per poter rip>espandere il <code>div</code> oltre l'altezza impostata per poter
>rendere il contenuto. Sotto un esempio che mostra la differenza:> riprendere il contenuto. Sotto un esempio che mostra la differen
 >za:
n804      <img alt="DIV Overflow" fileid="1602" src="File:it/Media_Gan807      <img alt="DIV Overflow" class="internal" src="/@api/deki/fi
>llery/Migrationguide-overflow.jpg">>les/1602/=Migrationguide-overflow.jpg">
n806    <h4 name="differenza_di_hover">n809    <h4 id="differenza_di_hover" name="differenza_di_hover">
n833    <h3 name="Quirks_vs._modo_standard">n836    <h3 id="Quirks_vs._modo_standard" name="Quirks_vs._modo_stand
 >ard">
n837      Le versioni più antiquate di alcuni browser, come Internet n840      Le versioni più antiquate di alcuni browser, come Internet 
>Exlporer 4, impaginano insernedo artefatti in determinate condizi>Exlporer 4, impaginano insernedo artefatti in determinate condizi
>oni. Mentre Mozilla tende ad essere un browser aderente agli stan>oni. Mentre Mozilla tende ad essere un browser aderente agli stan
>dard, fornisce tre modi per sopportare pagine Web meno recenti re>dard, fornisce tre modi per sopportare pagine Web meno recenti re
>alizzate con in mente questi comportamenti particolari. Recapito >alizzate con in mente questi comportamenti particolari. Recapito 
>e contenuto della pagina determinano quale modo sarà utilizzato. >e contenuto della pagina determinano quale modo sarà utilizzato. 
>Mozilla indicherà il modo di impaginazione in <b>View -&gt; Page >Mozilla indicherà il modo di impaginazione in <strong>View -&gt; 
>Info</b> (o premendo <kbd>Ctrl+I</kbd>); Firefox lo mostrerà in <>Page Info</strong> (o premendo <code>Ctrl+I</code>); Firefox lo m
>b>Tools -&gt; Page Info</b>.>ostrerà in <strong>Tools -&gt; Page Info</strong>.
n849      La sezione in blu viene chiamata <i>identificatore pubblicon852      La sezione in blu viene chiamata <em>identificatore pubblic
></i> (<i>public identifier</i>), la parte vedere è <i>l'identific>o</em> (<em>public identifier</em>), la parte vedere è <em>l'iden
>atore di sistema</i> (<i>system identifier</i>), nella forma di U>tificatore di sistema</em> (<em>system identifier</em>), nella fo
>RI.>rma di URI.
n851    <h4 name="Modo_standard">n854    <h4 id="Modo_standard" name="Modo_standard">
n865    <h4 name="Modo_quasi_standard">n868    <h4 id="Modo_quasi_standard" name="Modo_quasi_standard">
n869      Mozilla ha introdotto il modo <i>quasi standard</i> (almostn872      Mozilla ha introdotto il modo <em>quasi standard</em> (almo
> standard mode) per una ragione: una sezione nella specifica CSS >st standard mode) per una ragione: una sezione nella specifica CS
>2 rompe i design basati su un preciso schema fatto di piccole imm>S 2 rompe i design basati su un preciso schema fatto di piccole i
>agini in celle di tabelle. Invece di fornire una immagine intera >mmagini in celle di tabelle. Invece di fornire una immagine inter
>all'utente, ogni piccola immagine finisce con un piccolo spazio a>a all'utente, ogni piccola immagine finisce con un piccolo spazio
> seguire. La vecchia homepage IBM mostrata in Figura 5 offre un e> a seguire. La vecchia homepage IBM mostrata in Figura 5 offre un
>sempio di questo comportamento.> esempio di questo comportamento.
n875      <img alt="Image Gap" fileid="1599" src="File:it/Media_Gallen878      <img alt="Image Gap" class="internal" src="/@api/deki/files
>ry/Migrationguide-imagegap.jpg">>/1599/=Migrationguide-imagegap.jpg">
n891      Per altre informazioni, consultare l'articolo riguardante in894      Per altre informazioni, consultare l'articolo riguardante i
>l <a href="it/Immagini%2c_Tabelle%2c_e_Spazi_Misteriosi">problema>l <a href="/it/Immagini,_Tabelle,_e_Spazi_Misteriosi" title="it/I
> di spazio tra immagini</a>>mmagini,_Tabelle,_e_Spazi_Misteriosi">problema di spazio tra imma
 >gini</a>
n893    <h4 name="Modo_Quirks">n896    <h4 id="Modo_Quirks" name="Modo_Quirks">
n897      Ad oggi, il Web è pieno di marcatori HTML invalidi, così con900      Ad oggi, il Web è pieno di marcatori HTML invalidi, così co
>me altri che funzionano solo a causa di bug di alcuni browser. I >me altri che funzionano solo a causa di bug di alcuni browser. I 
>vecchi browser Netscape, nel periodo della loro leadership di mer>vecchi browser Netscape, nel periodo della loro leadership di mer
>cato, contenevano bug. Quando fece il suo ingresso Internet Explo>cato, contenevano bug. Quando fece il suo ingresso Internet Explo
>rer, cercò di imitare gli stessi bug per poter funzionare con i c>rer, cercò di imitare gli stessi bug per poter funzionare con i c
>ontenuti dell'epoca. Con l'introduzione di nuovi browser nel merc>ontenuti dell'epoca. Con l'introduzione di nuovi browser nel merc
>ato, molti di questi bug originali, solitamente chiamati <i>quirk>ato, molti di questi bug originali, solitamente chiamati <em>quir
>s</i> (artefatti), sono stati mantenuti per avere retrocompatibil>ks</em> (artefatti), sono stati mantenuti per avere retrocompatib
>ità. Mozilla supporta molti di questi nel suo modo di impaginazio>ilità. Mozilla supporta molti di questi nel suo modo di impaginaz
>ne quirks. Si noti che a causa di questi artefatti, i documenti v>ione quirks. Si noti che a causa di questi artefatti, i documenti
>engono impaginati più lentamente che se fossero stati aderenti ag> vengono impaginati più lentamente che se fossero stati aderenti 
>li standard. Molte pagine web sono trattate in questa maniera.>agli standard. Molte pagine web sono trattate in questa maniera.
n909      Per approfondimenti, si vedano: <a href="it/Funzionamento_dn912      Per approfondimenti, si vedano: <a href="/it/Funzionamento_
>el_Quirks_Mode_di_Mozilla">Funzionamento del Quirks Mode di Mozil>del_Quirks_Mode_di_Mozilla" title="it/Funzionamento_del_Quirks_Mo
>la</a> e <a href="it/Sniffing_DOCTYPE_di_Mozilla">Sniffing DOCTYP>de_di_Mozilla">Funzionamento del Quirks Mode di Mozilla</a> e <a 
>E di Mozilla</a>>href="/it/Sniffing_DOCTYPE_di_Mozilla" title="it/Sniffing_DOCTYPE
 >_di_Mozilla">Sniffing DOCTYPE di Mozilla</a>
n911    <h3 name="Differenze_nella_gestione_eventi">n914    <h3 id="Differenze_nella_gestione_eventi" name="Differenze_ne
 >lla_gestione_eventi">
n1104    <h4 name="Aggiungere_gestori_di_eventi">n1107    <h4 id="Aggiungere_gestori_di_eventi" name="Aggiungere_gestor
 >i_di_eventi">
n1126      Mozilla supporta pienamente il metodo standard del W3C di an1129      Mozilla supporta pienamente il metodo standard del W3C di a
>ggiungere dei <i>listener</i> (letterarmente <i>ascoltatori</i>) >ggiungere dei <em>listener</em> (letterarmente <em>ascoltatori</e
>ai nodi DOM. L'uso dei metodi <code>addEventListener()</code> e <>m>) ai nodi DOM. L'uso dei metodi <code>addEventListener()</code>
>code>removeEventListener()</code> ha il beneficio di permettere l> e <code>removeEventListener()</code> ha il beneficio di permette
>'impostazione di molteplici listener per lo stesso tipo di evento>re l'impostazione di molteplici listener per lo stesso tipo di ev
>. Entrambi i metodi richiedono tre paramentri: Il tipo di evento,>ento. Entrambi i metodi richiedono tre paramentri: Il tipo di eve
> una riferimento a funzione, ed un valore booleano che indica se >nto, una riferimento a funzione, ed un valore booleano che indica
>il listener debba o meno catturare eventi nella sua fase di cattu> se il listener debba o meno catturare eventi nella sua fase di c
>ra. Se il valore del booleano è <i>false</i>, verranno catturati >attura. Se il valore del booleano è <em>false</em>, verranno catt
>solo gli eventi propagati. Gli eventi W3C hanno tre fasi: cattura>urati solo gli eventi propagati. Gli eventi W3C hanno tre fasi: c
> (<i>capturing</i>), obbiettivo (<i>at target</i>) e propagazione>attura (<em>capturing</em>), obbiettivo (<em>at target</em>) e pr
> (<i>bubbling</i>). Ogni oggetto evet ha un attributo <code>event>opagazione (<em>bubbling</em>). Ogni oggetto evet ha un attributo
>Phase</code> che indica la fase numericamente (a partire da 0). O> <code>eventPhase</code> che indica la fase numericamente (a part
>gni qualvolta viene eseguito un evento, esso parte dall'elemento >ire da 0). Ogni qualvolta viene eseguito un evento, esso parte da
>più esterno del DOM, quello alla radice dell'albero DOM. L'evento>ll'elemento più esterno del DOM, quello alla radice dell'albero D
> poi viaggia all'interno del DOM usando il percorso più diretto v>OM. L'evento poi viaggia all'interno del DOM usando il percorso p
>erso l'obbiettivo, realizzando la fase di capturing. Appena arriv>iù diretto verso l'obbiettivo, realizzando la fase di capturing. 
>a, l'evento si trova nella fase obbiettivo. Dopo il suo arrivo, e>Appena arriva, l'evento si trova nella fase obbiettivo. Dopo il s
>ffettua un nuovo viaggio nell'albero verso il nodo più esterno: l>uo arrivo, effettua un nuovo viaggio nell'albero verso il nodo pi
>a fase di propagazione. Il modello eventi di Internet Explorer ha>ù esterno: la fase di propagazione. Il modello eventi di Internet
> solo la fase di propagazione; questo significa che impostare il > Explorer ha solo la fase di propagazione; questo significa che i
>terzo parametro come <i>false</i> equivale ad imitare il comporta>mpostare il terzo parametro come <em>false</em> equivale ad imita
>mento di Internet Explorer:>re il comportamento di Internet Explorer:
n1191    <h3 name="Rich_text_editing">n1194    <h3 id="Rich_text_editing" name="Rich_text_editing">
n1195      Mentre Mozilla si vanta di essere il milgior browser attinen1198      Mentre Mozilla si vanta di essere il milgior browser attine
>nte agli standard W3C, supporta inoltre funzionalità standard, co>nte agli standard W3C, supporta inoltre funzionalità standard, co
>me <code>innerHTML</code> ed il <a href="it/Midas">rich text edit>me <code>innerHTML</code> ed il <a href="/it/Midas" title="it/Mid
>ing</a>, nel momento in cui non esistenti equivalenti W3C.>as">rich text editing</a>, nel momento in cui non esistenti equiv
 >alenti W3C.
1196    </p>
1197    <p>1199    </p>
1200    <p>
1198      Mozilla 1.3 ha introdotto una implementazione del <a href="1201      Mozilla 1.3 ha introdotto una implementazione del <a href="
>it/Rich-Text_Editing_in_Mozilla/Class_xbDesignMode">designMode</a>/it/Rich-Text_Editing_in_Mozilla/Class_xbDesignMode" title="it/Ri
>> di Internet Explorer, che converte un documento HTML in un rich>ch-Text_Editing_in_Mozilla/Class_xbDesignMode">designMode</a> di 
> text editor. Una volta fatto questo, possono essere esguiti coma>Internet Explorer, che converte un documento HTML in un rich text
>ndi attraverso il comando <code>execCommand</code>. Mozilla non s> editor. Una volta fatto questo, possono essere esguiti comandi a
>upporta l'attributo <code>contentEditable</code> di Internet Expl>ttraverso il comando <code>execCommand</code>. Mozilla non suppor
>orer per rendere ogni widget modificabile. Si può usare un iframe>ta l'attributo <code>contentEditable</code> di Internet Explorer 
> per aggiungere un rich text editor.>per rendere ogni widget modificabile. Si può usare un iframe per 
 >aggiungere un rich text editor.
n1200    <h4 name="Differenze_nel_Rich_text">n1203    <h4 id="Differenze_nel_Rich_text" name="Differenze_nel_Rich_t
 >ext">
n1543      Per altre informazioni, consultare <a href="it/Rich-Text_Edn1546      Per altre informazioni, consultare <a href="/it/Rich-Text_E
>iting_in_Mozilla">Rich-Text Editing in Mozilla</a>.>diting_in_Mozilla" title="it/Rich-Text_Editing_in_Mozilla">Rich-T
 >ext Editing in Mozilla</a>.
n1545    <h3 name="Differenze_in_XML">n1548    <h3 id="Differenze_in_XML" name="Differenze_in_XML">
n1549      Mozilla ha un robusto supporto per XML e tecnologie ad esson1552      Mozilla ha un robusto supporto per XML e tecnologie ad esso
> correlato, come <a href="it/XSLT">XSLT</a> e Web service. Suppor> correlato, come <a href="/it/XSLT" title="it/XSLT">XSLT</a> e We
>ta inoltrer alcune estensioni non standard di Internet Explorer, >b service. Supporta inoltrer alcune estensioni non standard di In
>come <code><a href="it/XMLHttpRequest">XMLHttpRequest</a></code>.>ternet Explorer, come <code><a href="/it/XMLHttpRequest" title="i
 >t/XMLHttpRequest">XMLHttpRequest</a></code>.
n1551    <h4 name="Come_gestire_XML">n1554    <h4 id="Come_gestire_XML" name="Come_gestire_XML">
n1555      Come con lo standard HTML, Mozilla supporta le specifiche Wn1558      Come con lo standard HTML, Mozilla supporta le specifiche W
>3C XML DOM, che permettono di manipolare quasi ogni aspetto di un>3C XML DOM, che permettono di manipolare quasi ogni aspetto di un
> documento XML. Differenze tra il DOM XML in Internet Explorer e > documento XML. Differenze tra il DOM XML in Internet Explorer e 
>Mozilla sono solitamente causate da comportamenti non standard di>Mozilla sono solitamente causate da comportamenti non standard di
> Internet Explorer. Probabilmente la più comune è la gestione nod> Internet Explorer. Probabilmente la più comune è la gestione nod
>i di spazi bianchi. Solitamente un documento generato in XML cont>i di spazi bianchi. Solitamente un documento generato in XML cont
>iene spazi tra i nodi XML. Internet Explorer, nell'uso di <code><>iene spazi tra i nodi XML. Internet Explorer, nell'uso di <code><
>a href="it/DOM/element.childNodes">Node.childNodes</a></code>, no>a href="/it/DOM/element.childNodes" title="it/DOM/element.childNo
>n contiene tali nodi di spazio. In Mozilla, questi nodi saranno c>des">Node.childNodes</a></code>, non contiene tali nodi di spazio
>ontenuti nell'array.>. In Mozilla, questi nodi saranno contenuti nell'array.
n1569      La prima linea di javaScript carica il documento XML ed accn1572      La prima linea di javaScript carica il documento XML ed acc
>ede all'elemento radice (<code>myXMLDoc</code>) usando <code><a h>ede all'elemento radice (<code>myXMLDoc</code>) usando <code><a h
>ref="it/DOM/document.documentElement">documentElement</a></code>.>ref="/it/DOM/document.documentElement" title="it/DOM/document.doc
> La seconda linea semplicemente annuncia il numero di nodi figli.>umentElement">documentElement</a></code>. La seconda linea sempli
> Secondo le specifiche W3C, gli spazi bianchi ed i ritorno a capo>cemente annuncia il numero di nodi figli. Secondo le specifiche W
> si fondono in un solo nodo di testo, se essi si susseguono. Per >3C, gli spazi bianchi ed i ritorno a capo si fondono in un solo n
>Mozilla, il nodo <code>myXMLdoc</code> ha tre figli: un nodo test>odo di testo, se essi si susseguono. Per Mozilla, il nodo <code>m
>o contenente un ritorno a capo e due spazi; il nodo the <code>myn>yXMLdoc</code> ha tre figli: un nodo testo contenente un ritorno 
>s:foo</code>: ed un altro nodo di testo con un ritorno a capo. In>a capo e due spazi; il nodo the <code>myns:foo</code>: ed un altr
>ternet Explorer, comunque, Internet Explorer non tollera questo e>o nodo di testo con un ritorno a capo. Internet Explorer, comunqu
> ritorna "1" per il codice soprastante, indicando solo il nodo <c>e, Internet Explorer non tollera questo e ritorna "1" per il codi
>ode>myns:foo</code>. Per questo, per scorrere gli elementi figli >ce soprastante, indicando solo il nodo <code>myns:foo</code>. Per
>evitando i nodi testo, questi vanno identificati.> questo, per scorrere gli elementi figli evitando i nodi testo, q
 >uesti vanno identificati.
1570    </p>
1571    <p>1573    </p>
1574    <p>
1572      Come detto prima, ogni nodo ha una proprietà <code><a href=1575      Come detto prima, ogni nodo ha una proprietà <code><a href=
>"it/DOM/element.nodeType">nodeType</a></code> rappresentante il t>"/it/DOM/element.nodeType" title="it/DOM/element.nodeType">nodeTy
>ipo di nodo. Ad esempio, un nodo element ha tipo1, mentre un nodo>pe</a></code> rappresentante il tipo di nodo. Ad esempio, un nodo
> document ha tipo 9. Per evitare i nodi di testo, è sufficiente c> element ha tipo1, mentre un nodo document ha tipo 9. Per evitare
>ontrollare i tipi 3 (nodo testo) e 8 (nodo commento).> i nodi di testo, è sufficiente controllare i tipi 3 (nodo testo)
 > e 8 (nodo commento).
n1593      Vedere <a href="it/Spazi_nel_DOM">Spazi nel DOM</a> per unan1596      Vedere <a href="/it/Spazi_nel_DOM" title="it/Spazi_nel_DOM"
> discussione dettagliata e possibili soluzioni.>>Spazi nel DOM</a> per una discussione dettagliata e possibili so
 >luzioni.
n1595    <h4 name="Isole_dati_XML">n1598    <h4 id="Isole_dati_XML" name="Isole_dati_XML">
n1611      Una soluzione cross-browser consiste nell'usare i parser DOn1614      Una soluzione cross-browser consiste nell'usare i parser DO
>M, che effettuano i parsing di una stringa che contiene un docume>M, che effettuano i parsing di una stringa che contiene un docume
>nto XML serializzato e generano il documento per l'XML sottoposto>nto XML serializzato e generano il documento per l'XML sottoposto
> al parsing. Mozilla usa l'oggetto <code><a href="it/DOMParser">D> al parsing. Mozilla usa l'oggetto <code><a href="/it/DOMParser" 
>OMParser</a></code>, che prende una stringa serializzata e genera>title="it/DOMParser">DOMParser</a></code>, che prende una stringa
> un documento da essa. Il codice seguente mostra come:> serializzata e genera un documento da essa. Il codice seguente m
 >ostra come:
n1633      vedere <a href="it/Uso_di_Isole_dati_XML_in_Mozilla">Uso din1636      vedere <a href="/it/Uso_di_Isole_dati_XML_in_Mozilla" title
> Isole dati XML in Mozilla</a> per un approccio alternativo.>="it/Uso_di_Isole_dati_XML_in_Mozilla">Uso di Isole dati XML in M
 >ozilla</a> per un approccio alternativo.
n1635    <h4 name="XMLHttpRequest">n1638    <h4 id="XMLHttpRequest" name="XMLHttpRequest">
n1639      Internet Explorer permette di inviare e ricevere file XML un1642      Internet Explorer permette di inviare e ricevere file XML u
>sando la classe MSXML <code>XMLHTTP</code>. Istanzata attraverso >sando la classe MSXML <code>XMLHTTP</code>. Istanzata attraverso 
>ActiveX usando <code>new ActiveXObject("Msxml2.XMLHTTP")</code> o>ActiveX usando <code>new ActiveXObject("Msxml2.XMLHTTP")</code> o
> <code>new ActiveXObject("Microsoft.XMLHTTP")</code>. Poiché non > <code>new ActiveXObject("Microsoft.XMLHTTP")</code>. Poiché non 
>esiste metodo standard per fare questo, Mozilla fornisce la stess>esiste metodo standard per fare questo, Mozilla fornisce la stess
>a funzionalità nell'oggetto globale <code><a href="it/XMLHttpRequ>a funzionalità nell'oggetto globale <code><a href="/it/XMLHttpReq
>est">XMLHttpRequest</a></code>. Dalla versione 7 IE stesso suppor>uest" title="it/XMLHttpRequest">XMLHttpRequest</a></code>. Dalla 
>ta un oggetto <code>XMLHttpRequest</code> "nativo".>versione 7 IE stesso supporta un oggetto <code>XMLHttpRequest</co
 >de> "nativo".
n1673      La Tabella 7 mostra a lista di metodi e proprietà disponibin1676      La Tabella 7 mostra a lista di metodi e proprietà disponibi
>li per <code><a href="it/XMLHttpRequest">XMLHttpRequest</a></code>li per <code><a href="/it/XMLHttpRequest" title="it/XMLHttpReques
>> di Mozilla.>t">XMLHttpRequest</a></code> di Mozilla.
n1840    <h4 name="Differenze_in_XSLT">n1843    <h4 id="Differenze_in_XSLT" name="Differenze_in_XSLT">
n1844      Mozilla supporta XSL Transformations (<a href="it/XSLT">XSLn1847      Mozilla supporta XSL Transformations (<a href="/it/XSLT" ti
>T</a>) 1.0. Permette inoltre a JavaScript di eseguire trasformazi>tle="it/XSLT">XSLT</a>) 1.0. Permette inoltre a JavaScript di ese
>oni XSLT e di eseguire <a href="it/XPath">XPath</a> su un documen>guire trasformazioni XSLT e di eseguire <a href="/it/XPath" title
>to.>="it/XPath">XPath</a> su un documento.
n1864      Mozilla fornisce inoltre interfacce JavaScript per XSLT, pen1867      Mozilla fornisce inoltre interfacce JavaScript per XSLT, pe
>rmettendo ad un sito Web di completare trasformazioni XSLT in mem>rmettendo ad un sito Web di completare trasformazioni XSLT in mem
>oria, attraverso l'oggetto globale <code><a href="it/XSLTProcesso>oria, attraverso l'oggetto globale <code><a href="/it/XSLTProcess
>r">XSLTProcessor</a></code>. <code>XSLTProcessor</code> richiede >or" title="it/XSLTProcessor">XSLTProcessor</a></code>. <code>XSLT
>di caricare i file XML ed XSLT, in quanto necessita i loro DOM do>Processor</code> richiede di caricare i file XML ed XSLT, in quan
>cument. Il document XSLT, importato attraverso <code>XSLTProcesso>to necessita i loro DOM document. Il document XSLT, importato att
>r</code>, permette di manipolare parametri XSLT.>raverso <code>XSLTProcessor</code>, permette di manipolare parame
 >tri XSLT.
n1975      <h3 name="Original_Document_Information">n1978      <h3 id="Original_Document_Information" name="Original_Docum
 >ent_Information">
n1983        <li>Link: <a class=" external" href="http://www-128.ibm.cn1986        <li>Link: <a class=" external" href="http://www.ibm.com/d
>om/developerworks/web/library/wa-ie2mozgd/" rel="freelink">http:/>eveloperworks/web/library/wa-ie2mozgd/" rel="freelink">http://www
>/www-128.ibm.com/developerwork...y/wa-ie2mozgd/</a>>.ibm.com/developerworks/we...y/wa-ie2mozgd/</a>
tt1989    </div>
1990    <p>
1986    </div>{{ languages( { "fr": "fr/Migration_d\'applications_d\'1991      {{ languages( { "fr": "fr/Migration_d\'applications_d\'Inte
>Internet_Explorer_vers_Mozilla", "en": "en/Migrate_apps_from_Inte>rnet_Explorer_vers_Mozilla", "en": "en/Migrate_apps_from_Internet
>rnet_Explorer_to_Mozilla", "ko": "ko/Migrate_apps_from_Internet_E>_Explorer_to_Mozilla", "ko": "ko/Migrate_apps_from_Internet_Explo
>xplorer_to_Mozilla" } ) }}>rer_to_Mozilla" } ) }}
1992    </p>

Torna allo storico