--- title: Firefox 8 pour les développeurs slug: Mozilla/Firefox/Releases/8 tags: - Firefox - Firefox 8 translation_of: Mozilla/Firefox/Releases/8 original_slug: Mozilla/Firefox/Versions/8 ---
Firefox 8, basé sur Gecko 8.0, est sorti le 8 novembre 2011. Cet article fournit des informations à la fois pour les developpeurs Web et pour les développeurs d'extensions et de projets liés à Mozilla pour aider à tirer pleinement parti des fonctionnalités de cette version.
crossOrigin
a été ajouté à HTMLImageElement
et l'attribut crossorigin
a été ajouté à l'élément <img>
(voir bug 664299).HTMLSelectElement.add()
supporte désormais supporte désormais soit un élément ou soit l'index d'un élément auquel un nouvel élément doit être inséré avant. Auparavant, seulement un élément était supporté (voir bug 666200).HTMLIsIndexElement
a été retiré. Aucun éléments n'a implémenté cette interface depuis Firefox 4.contextmenu
), qui vous permet d'ajouter des éléments personnalisés particuliers au menu contextuel d'origine, est désormais supportée (l'implémentation est encore expérimentale en attendant des changements dans la spécification (voir bug 617528).accesskeylabel
a été ajouté à tous les éléments.<input>
et <textarea>
supportent désormais l'attribut selectionDirection
, et leurs méthodes setSelectionRange()
ont été mises à jour pour supporter éventuellement la spécification d'une direction.tabindex
et que l'utilisateur se concentre ensuite sur l'élément.<label>
imbriqués, cliquer sur les événements ne déclencheront plus plusieurs éléments, qui, avant, provoquaient un blocage de Firefox (voir bug 646157).insertAdjacentHTML
a été implémentée.BlobBuilder
dispose désormais d'une méthode getFile()
qui renvoie le contenu du blob dans un fichier.FileReaderSync
(partie de FileAPI) a été implementée.<label>
imbriqués a été fixée.window.postMessage()
pour passer les objets File
et FileList
entre les fenêtres.element.contenteditable
la sortie d'une position en appuyant sur retour, ou à la sortie d'une liste en mode édition en appuyant sur retour à deux reprises, revient maintenant au mode d'entrée au paragraphe (c'est-à-dire les paragraphes à l'intérieur des blocs <p>
) au lieu de lignes de séparation par les éléments <br>
.element.contenteditable
.element.contenteditable
affectait le bloc contenteditable
précédent s'il était présent.document.getSelection()
renvoie désormais l'objet Selection
identique à window.getSelection()
, à la place de stringifying.selectionDirection
permet de définir la direction de la sélection dans un texte éditable.HTMLMediaElement
a maintenant une propriété seekable
qui retourne l'objet TimeRanges
..preload
de HTMLMediaElement
se reflète désormais comme une valeur énumérée.crossOrigin
sont par défaut defaults to "Anonyme" quand une valeur invalide est utilisée.window.navigator.cookieEnabled
renvoie désormais correctement l'information quand le paramètre de cookie par défaut est écrasé sur la base de chaque site.RegExp.exec()
et RegExp.test()
appelés sans arguments correspondent maintenant à la chaîne "undefined".String.search()
et String.match()
appelés sans arguments ou undefined
correspondent désormais à une chaîne vide et correspondent donc à chaque chaîne.watch()
et unwatch()
.resolution
accepte désormais <number>
, pas seulement des valeurs <integer>
comme avec la spécification.hyphens
.background-size
a été revu pour mieux correspondre à la spécification.text-decoration
en mode quirks avait l'épaisseur de ligne et la position ajustée sur le texte descendant pour correspondre à la descendance. Désormais le mode standard et le mode quirks ont un rendu plus proche.Content-Disposition
) exige désormais "=" dans les paramètres.send()
de l'objet WebSocket
ne renvoie plus à tort une valeur booléenne.close()
de l'objet WebSocket
correspond désormais à la version actuelle du standard, et les événements proches utilisent à présent correctement l'interface CloseEvent
.extensions
de l'objet WebSocket
est à présent supporté.onerror
.displaystyle
sur l'élément de premier niveau <math>
a été ajouté.align
de <mtable>
a été corrigée.console
a une nouvelle méthode dir()
, qui affiche une liste interactive des propriétés sur un objet spécifié.Voir Updating add-ons for Firefox 8 pour vous guidez dans les modifications que vous êtes susceptibles d'avoir à faire pour rendre vos extensions compatibles avec Firefox 8.
Components.utils
Components.utils.createObjectIn()
et Components.utils.makeObjectPropsNormal()
ont été créées pour faciliter la création d'objets dans des compartiments spécifiques.File
à partir d'éléments du code en faisant simplement un nouveau fichier, au lieu de devoir demander directement à nsIDOMFile
.nsTPtrArray
a été retiré. La fonctionnalité est désormais disponible sur tous les nsTArray
, qui propose désormais la méthode SafeElementAt()
lors d'une demande à l'aide d'un type de pointeur. Voir la section sur SafeElementAt()
dans le guide des tableaux XPCOM pour plus de détails.Il n'est plus possible d'accéder à des objets XPCOM depuis ChromeWorkers. XPConnect a été désactivé dans le contexte des travailleurs comme indiqué par le bug 649537.
document.execCommand()
a été fixé, il survenait lors de l'appel sur la valeur de contentDocument
. Depuis Firefox 3, cela a entraîné des erreurs au lieu d'un travail correct.chrome.manifest
. Voir la section Ajout de l'interface utilisateur avec chrome.manifest pour plus de détails.--enable-timeline
--disable-storage
--necko-disk-cache
jspubtd.h
est automatiquement inclus lorsque c'est nécessaire. L'inclusion manuelle de jspubtd.h
et/ou jsapi.h
dans des fichiers IDL qui utilisent jsval ou [implicit_jscontext] n'est plus nécessaire.platformversion
peut être utilisé dans le chrome.manifest pour spécifier la compatibilité entre les versions de Gecko.mozIJSSubScriptLoader.loadSubScript()
charge désormais scripts à partir du cache de démarrage lorsque c'est possible.ownerWindow
a été supprimé de l'interface nsIAccessNode
.nsIDOMStorageWindow
a été fusionnée avec l'interface nsIDOMWindow
.nsIDOMWindowInternal
ont été déplacés dans l'interface nsIDOMWindow
. L'interface (sans les membres) reste disponible pour la compatibilité jusqu'à Firefox 9.mozIVisitInfoCallback.handleResult()
et mozIVisitInfoCallback.handleError()
, qui remplacent l'ancienne unique méthode pour les erreurs et les conditions de succès.KIND_MAPPED
de nsIMemoryReporter
a été désapprouvé au profit de KIND_NONHEAP
, de nouveaux types d'unités ont été ajoutées : UNITS_COUNT_CUMULATIVE
et UNITS_PERCENTAGE
.nsIMemoryReporterManager
a un nouvel attribut explicit
, qui indique explicitement la taille totale des allocations de mémoire.nsIMemoryReporterManager
a un nouvel attribut resident
, qui relève la quantité de mémoire physique utilisée.nsINetworkLinkService
a un nouvel attribut, linkType
. Cet attribut indique le type de connexion réseau en cours d'utilisation. Tous les systèmes d'exploitation retournent actuellement LINK_TYPE_UNKNOWN
. Le support d'Android a été gardé pour des raisons de sécurité.nsISelection2
a été fusionnée avec l'interface nsISelectionPrivate
.nsISelection3
a été fusionnée avec l'interface nsISelection
.state
de nsISessionStartup
est désormais de type jsval
au lieu d'être une chaîne, pour des raisons de performance.isActive
de (nsIDocShell
) est désormais false
pour les fenêtres minimisées.nsIDownloadHistory.addDownload()
enregistre désormais la cible de l'endroit où le téléchargement est sauvegardé, sur le système de fichiers local.Les interfaces suivantes ont été supprimées car elles n'étaient plus indispensables :
nsITimelineService
nsIDOMHTMLIsIndexElement
L'interface nsIWorkerFactory
a également été retirée. WLes travailleurs peuvent encore être créés à l'aide des constructeurs Worker
et ChromeWorker
.
sizemodechange
.extensions.autoDisableScopes
pour désactiver l'installation automatique d'extensions sur un emplacement d'installation.document.mozSyntheticDocument
des objets Document
vous permet de déterminer si un document est synthétique (comme une image, une vidéo ou un fichier audio) plutôt qu'un document DOM standard. Cela peut être utile, par exemple, si vous voulez présenter une interface utilisateur différente dans cette situation (comme l'ajout d'éléments contextuels différemment selon le cas présent).about:config
; par exemple, "about:config?filter=sessionstore" n'affichera que les préférences liées au stockage des sessions.