1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
---
title: Changements dans Gecko 1.9 affectant les sites Web
slug: Mozilla/Firefox/Releases/3/Site_compatibility
tags:
- Développement_Web
- Gecko
translation_of: Mozilla/Firefox/Releases/3/Site_compatibility
original_slug: Changements_dans_Gecko_1.9_affectant_les_sites_Web
---
<div>{{FirefoxSidebar}}</div>
<p>Cette page essaie de donner un aperçu des changements entre <a href="fr/Gecko">Gecko</a> 1.8 et Gecko 1.9 qui pourraient éventuellement affecter le comportement ou le rendu des sites Web.</p>
<p>Consultez également <a href="fr/Firefox_3_pour_les_d%c3%a9veloppeurs">Firefox 3 pour les développeurs</a>.</p>
<h2 id=".C3.89v.C3.A8nements">Évènements</h2>
<h3 id="Gestionnaires_d.27.C3.A9v.C3.A8nements_capturants_load">Gestionnaires d'évènements capturants <code>load</code></h3>
<p>Dans Gecko 1.8, il n'était pas possible de définir des gestionnaires d'évènements <code>load</code> capturants sur les images. Dans Gecko 1.9, cela devient possible avec la résolution du {{ Bug(234455) }}. Cela peut cependant causer des problèmes sur les sites Web qui ont incorrectement défini leurs gestionnaires d'évènements sur l'évènement <code>load</code>. Consultez la discussion dans le {{ Bug(335251) }}. Pour résoudre ce problème, les pages en question ne doivent pas définir de gestionnaires d'évènements capturants pour l'évènement <code>load</code>.</p>
<p>Par exemple, ceci :</p>
<pre class="eval">window.addEventListener('load', votreFonction, true);
</pre>
<p>devrait être remplacé par ceci :</p>
<pre class="eval">window.addEventListener('load', votreFonction, false);
</pre>
<p>Pour une explication du fonctionnement de la capture des évènements, consultez <a href="http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-flow-capture">DOM Level 2 Event capture</a> (en)</p>
<h3 id="preventBubble_a_.C3.A9t.C3.A9_supprim.C3.A9e"><code>preventBubble</code> a été supprimée</h3>
<p>Dans Gecko 1.8, la méthode <code>preventBubble</code> existait sur les évènements pour les empêcher de se propager plus haut. Dans Gecko 1.9, cette méthode a été supprimée. À la place, utilisez la méthode standard <a href="fr/DOM/event.stopPropagation">stopPropagation()</a>, qui fonctionne également dans Gecko 1.8. Ce changement a été produit par le patch pour le {{ Bug(330494) }}. Consultez également le {{ Bug(105280) }}.</p>
<h3 id="Quelques_autres_anciennes_API_d.27.C3.A9v.C3.A8nements_ne_sont_plus_support.C3.A9es">Quelques autres anciennes API d'évènements ne sont plus supportées</h3>
<p><a href="fr/DOM/window.captureEvents">window.captureEvents</a>, <a href="fr/DOM/window.releaseEvents">window.releaseEvents</a> et <code>window.routeEvent</code> ne sont plus supportées ({{ Obsolete_inline() }}) dans Gecko 1.9.</p>
<h2 id="DOM">DOM</h2>
<h3 id="L.27exception_WRONG_DOCUMENT_ERR_se_d.C3.A9clenche_lorsque_l.27on_essaie_d.27utiliser_un_n.C5.93ud_d.27un_document_diff.C3.A9rent">L'exception <code>WRONG_DOCUMENT_ERR</code> se déclenche lorsque l'on essaie d'utiliser un nœud d'un document différent</h3>
<p></p><p>Les nœuds provenant de documents externes doivent être clonés à l'aide de <a href="/fr/docs/Web/API/Document/importNode"><code>document.importNode()</code></a> (ou adoptés avec
<a href="/fr/docs/Web/API/Document/adoptNode"><code>document.adoptNode()</code></a>) avant de pouvoir être insérés dans le document courant. Pour en savoir plus sur les problèmes
de <a href="/fr/docs/Web/API/Node/ownerDocument"><code>Node.ownerDocument</code></a>, consultez la <a href="http://www.w3.org/DOM/faq.html#ownerdoc" rel="noopener">FAQ DOM du W3C</a> (en anglais).</p>
<p>Gecko n'obligeait pas à utiliser <a href="/fr/docs/Web/API/Document/importNode"><code>document.importNode()</code></a> et <a href="/fr/docs/Web/API/Document/adoptNode"><code>document.adoptNode()</code></a> avant sa version 1.9. Depuis les versions 1.9
alphas, si un nœud n'est pas adopté ou importé avant d'être utilisé dans un autre document, l'exception
<code>WRONG_DOCUMENT_ERR</code> est déclenchée (<code>NS_ERROR_DOM_WRONG_DOCUMENT_ERR</code>). implémentation dans le <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=47903" rel="noopener">bug 47903</a>.</p><p></p>
<h2 id="Ranges">Ranges</h2>
<h3 id="intersectsNode_a_.C3.A9t.C3.A9_supprim.C3.A9e"><code>intersectsNode</code> a été supprimée</h3>
<p>Dans Gecko 1.8, la fonction <code>intersectsNode</code> pouvait être utilisée pour vérifier si un nœud faisait partie d'un range. Cependant, les valeurs renvoyées par cette fonction étaient trompeuses et rarement utiles. Elle a donc été retirée de Gecko 1.9. Utilisez à la place la fonction standard et plus précise <a href="fr/DOM/range.compareBoundaryPoints">compareBoundaryPoints</a>. Cette fonction a été retirée par le patch du {{ Bug(358073) }}.</p>
<p>Consultez la documentation de <a href="fr/DOM/range.intersectsNode">intersectsNode</a> pour savoir comment utiliser <code>compareBoundaryPoints</code> à la place.</p>
<h3 id="compareNode_a_.C3.A9t.C3.A9_supprim.C3.A9e"><code>compareNode</code> a été supprimée</h3>
<p>Dans Gecko 1.8, la fonction <code>compareNode</code> pouvait être utilisée pour tester l'intersection d'un nœud avec un range. Cependant, les valeurs renvoyées par cette fonction étaient trompeuses et rarement utiles. Elle a donc été retirée de Gecko 1.9. Utilisez à la place la fonction standard et plus précise <a href="fr/DOM/range.compareBoundaryPoints">compareBoundaryPoints</a>. Cette fonction a été retirée par le patch du {{ Bug(358073) }}.</p>
<p>Consultez la documentation de <a href="fr/DOM/range.compareNode">compareNode</a> pour savoir comment utiliser <code>compareBoundaryPoints</code> à la place.</p>
<h2 id="HTML">HTML</h2>
<h3 id="Correction_de_nombreux_bogues_dans_le_code_de_.3Cobject.3E">Correction de nombreux bogues dans le code de <code><object></code></h3>
<ul>
<li>Les éléments <code>object</code> et <code>embed</code> n'ont plus besoin d'attribut <code>type</code> pour être rendus.</li>
<li>La modification de l'attribut <code>src</code> (de <code><embed></code>) ou de l'attribut <code>data</code> (de <code><object></code>) via JavaScript fonctionne maintenant correctement.</li>
<li>L'en-tête <code>Content-Type</code> envoyé par le serveur (s'il existe) est maintenant prioritaire par rapport à l'attribut <code>type</code> d'une balise <code><object></code> comme défini dans la spécification HTML (ceci n'est pas le cas pour <code>embed</code>).</li>
</ul>
<div class="noinclude"> </div>
<p>{{ languages( { "en": "en/Gecko_1.9_Changes_affecting_websites", "ja": "ja/Gecko_1.9_Changes_affecting_websites", "ko": "ko/Gecko_1.9_Changes_affecting_websites", "pl": "pl/Zmiany_w_Gecko_1.9_wp\u0142ywaj\u0105ce_na_wy\u015bwietlanie_stron", "pt": "pt/Mudan\u00e7as_no_Gecko_1.9_que_afetam_websites" } ) }}</p>
|