Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Firefox 49 Versionshinweise für Entwickler

Um die neuesten Entwickler-Funktionen von Firefox zu testen, installieren Sie die Firefox Developer Edition. Firefox 49 wurde am 20. September 2016 veröffentlicht. Dieser Artikel listet wichtige Änderungen auf, die nicht nur für Webentwickler, sondern auch für Entwickler von Firefox und Gecko sowie für Add-On-Entwickler nützlich sind.

Änderungen für Webentwickler

Entwicklertools

HTML

  • Unterstützung für die Elemente <details> und <summary> hinzugefügt (Firefox Bug 1226455).
  • Das Attribute pattern des <input>-Elements verwendet jetzt den 'u' Parameter im zugrunde liegenden JavaScript-RegExp (Firefox Bug 1227906).
  • Um eine Abänderung der Spezifikationen zu treffen, wird ein ungültiger Wert des kind-Attributs des <track>-Elements nun wie "metadata" anstelle von "subtitles" behandelt (Firefox Bug 1269712).
  • Das Attribut sandbox des <iframe>-Elements unterstützt nun die Werte 'allow-popups-to-escape-sandbox' und 'allow-modals' (Firefox Bug 1190641).
  • Unterstützung für Mikrodata-Attribute und die Microdata-API wurden entfernt (Firefox Bug 909633).
  • Das referrerpolicy-Attribut des <a>-Elements unterstützt nun die Werte 'no-referrer-when-downgrade' und 'origin-when-cross-origin' (Firefox Bug 1178337).
  • Das Inhalt-Attribut form des <label>-Elements wurde entfernt. Die HTMLLabelElement.form-Eigenschaft existiert weiterhin, gibt jetzt aber das Formular zurück, mit dem das Kontrollkästchen des Labels assoziiert ist, falls ein Kontrollkästchen vorhanden ist (und falls dieses Kontrollkästchen einem Formular zugeordnet ist) (Firefox Bug 1268852).

CSS

JavaScript

Schnittstellen/APIs/DOM

DOM & HTML-DOM

  • Die Methode DOMTokenList.supports() wurde hinzugefügt (Firefox Bug 1257849).
  • Die Methode DOMTokenList.replace() wurde hinzugefügt (Firefox Bug 1224186).
  • Einleitende '?'-Zeichen werden nun im Parameter des URLSearchParams()-Konstruktors ignoriert (Firefox Bug 1268361).
  • Der Wert, der von URL.origin, HTMLAnchorElement.origin und HTMLAreaElement.origin für URLs unter Nutzung des blob:-Schemas zurückgegeben wird, ist nicht mehr fälschlicherweise null, sondern entspricht stattdessen dem Ursprung der URL, die durch Entfernen des führenden blob: gebildet wird (Firefox Bug 1270451).
  • Im Prerendering-Modus gibt die Document.visibilityState-Eigenschaft jetzt 'prerender' zurück (Firefox Bug 1069772).
  • Die Eigenschaft Window.isSecureContext wurde implementiert (Firefox Bug 1162772).
  • Die DOM4-Methoden Element.before, Element.after, Element.replaceWith, Element.append und Element.prepend wurden implementiert (Firefox Bug 911477).
  • Die Methode TouchList.identifiedTouch() wurde entfernt (Firefox Bug 1188539).
  • Standardmäßig ist das Window-Feature scrollbars beim Aufruf von Window.open() aktiviert. In der Vergangenheit wurde dringend empfohlen, es zu aktivieren, es war jedoch nicht standardmäßig (Firefox Bug 1257887).
  • Die experimentelle und nicht standardmäßige Methode HTMLMediaElement.seekToNextFrame() wurde hinzugefügt, die das framesteuere Weise Durchsuchen von Videoinhalten ermöglicht (Firefox Bug 1235301). Es wird empfohlen, diese Methode zu testen, um besser zu verstehen, wie nützlich sie ist. Verwenden Sie sie jedoch nicht in Produktionscode!
  • Die HTMLLabelElement.form-Eigenschaft gibt jetzt das Formular zurück, mit dem das Kontrollkästchen des Labels assoziiert ist, falls ein Kontrollkästchen vorhanden ist (und falls dieses Kontrollkästchen einem Formular zugeordnet ist). Früher wurden Labels direkt mit Formularen über diese Eigenschaft assoziiert (Firefox Bug 1268852).
  • Unterstützung für den dritten Parameter von EventTarget.addEventListener(), entweder ein Boolean oder ein EventListenerOptions, wurde hinzugefügt (Firefox Bug 1266164 und Firefox Bug 1266066).
  • Die auf Lautstärke bezogenen Werte für KeyboardEvent.key wurden umbenannt. "VolumeDown" ist jetzt "AudioVolumeDown", "VolumeUp" ist jetzt "AudioVolumeUp" und "VolumeMute" ist jetzt "AudioVolumeMute". Dies bringt Firefox in Einklang mit dem neuesten Entwurf der UI Events-Spezifikation (Firefox Bug 1272578). Siehe Code-Werte für Tastaturereignisse für eine vollständige Liste verfügbarer Tastencodes.
  • Die Tasten, die zuvor als "MozHomeScreen", "MozCameraFocusAdjust" und "MozPhoneCall" bezeichnet wurden, haben jetzt offizielle Namen in der UI Events-Spezifikation: "GoHome", "CameraFocus" und "Call". Firefox 49 wurde aktualisiert, um die neuen Namen zu verwenden (Firefox Bug 1272599). Siehe Code-Werte für Tastaturereignisse für eine vollständige Liste verfügbarer Tastencodes.
  • Die Tastencodes "Separator" und "MediaSkip" wurden entfernt, da sie veraltet und ungenutzt waren (Firefox Bug 1232919).
  • Tastencodes und die entsprechenden Tastencodes "Hyper" und "Super" wurden hinzugefügt, um diese Legacy-Modifier-Tasten darzustellen (Firefox Bug 1232919).
  • Zwei Tastenwerte für Multimedia-Nummernblock-Tasten wurden hinzugefügt: "Key11" und "Key12" (Firefox Bug 1232919).
  • Die folgenden neuen Tastenwerte wurden für Audiosteuerungstasten hinzugefügt: "AudioBassBoostToggle", "AudioTrebleDown" und "AudioTrebleUp" (Firefox Bug 123919).
  • Tastenwerte wurden für diese Mikrofonsteuerungstasten hinzugefügt: MicrophoneToggle, MicrophoneVolumeDown, MicrophoneVolumeUp und MicrophoneVolumeMute (Firefox Bug 123919).
  • Neue Tastenwerte wurden hinzugefügt, um Sprachsteuerungsgeräte zu unterstützen: SpeechCorrectionList und SpeechInputToggle (Firefox Bug 1232919).
  • Neue Tastenwerte wurden hinzugefügt, um spezielle Tasten auf Telefonen zu unterstützen: AppSwitch, Call, CameraFocus, EndCall, GoBack, GoHome, HeadsetHook, LastNumberRedial, Notification, MannerMode und VoiceDial (Firefox Bug 1232919).
  • Diese neuen Anwendungstastenwerte wurden hinzugefügt: LaunchContacts und LaunchPhone (Firefox Bug 1232919).
  • Neue Tastenwerte wurden hinzugefügt, um Fernsehgeräte zu unterstützen: TV3DMode, TVAntennaCable, TVAudioDescription, TVAudioDescriptionMixDown, TVAudioDescriptionMixUp, TVContentsMenu, TVDataService, TVInput, TVInputComponent1, TVInputComponent2, TVInputComposite1, TVInputComposite2, TVInputHDMI1, TVInputHDMI2, TVInputHDMI3, TVInputHDMI4, TVInputVGA1, TVMediaContext, TVNetwork, TVNumberEntry, TVRadioService, TVSatellite, TVSatelliteBS, TVSatelliteCS, TVSatelliteToggle, TVTerrestrialAnalog, TVTerrestrialDigital, TVTimer und DVR (Firefox Bug 1232919).
  • Der Tastenwert MediaSelect wurde durch den Standard-Tastenwert LaunchMediaPlayer ersetzt (Firefox Bug 1272592).
  • Weitere Medienplayer-Tastenwerte wurden ebenfalls hinzugefügt. Diese sind MediaAudioTrack, MediaSkipBackward, MediaSkipForward, MediaStepBackward, MediaStepForward, MediaTopMenu, NavigateIn, NavigateNext, NavigateOut und NavigatePrevious (Firefox Bug 1232919).

Canvas

WebGL

IndexedDB

Service Worker und verwandte

  • Das Response-Objekt der Fetch API implementiert jetzt die Eigenschaft redirected, die angibt, ob die Antwort für eine umgeleitete Anfrage ist. Bitte überprüfen Sie die sicherheitsrelevanten Hinweise in der Dokumentation, bevor Sie diese Eigenschaft verwenden (Firefox Bug 1243792).
  • In der Permissions API unterstützt Firefox nicht mehr den 'push' PermissionDescriptor-Dictionary-Typ (in der Spezifikation als PushPermissionDescriptor bezeichnet); das liegt daran, dass Firefox stattdessen auf einem Quote-System zur Steuerung des userVisibleOnly-Status basiert und es zu einem Fehler führte, wenn es auf eine PushPermissionDescriptor-Instanz stieß (Firefox Bug 1266821). Mit dem Entfernen dieses Dictionarys ignoriert Firefox es nun.

Media Streams

  • Früher war es möglich, dass ein Aufruf von MediaDevices.getUserMedia(), der sowohl Audio als auch Video anforderte, in Fällen erfolgreich war, in denen der Benutzer nur eine der beiden Typen von Hardware zur Verfügung hatte. Dies wurde behoben (Firefox Bug 802326).
  • In früheren Versionen von Firefox war es möglich, dass ein Aufruf von MediaDevices.getUserMedia(), der sowohl Audio als auch Video anforderte, erfolgreich war, obwohl der Benutzer den Zugriff auf eines, aber nicht beide der passenden Geräte verweigerte. Dies wurde behoben (Firefox Bug 802326). Dies beinhaltet auch kleinere Benutzeroberflächenänderungen, um die Optionen "Kein Audio" oder "Kein Video" zu entfernen, wenn der Benutzer nach Berechtigungen gefragt wird.
  • Die Methode MediaStream.getTrackById() wurde implementiert (Firefox Bug 1208390).

WebRTC

  • Die Methode RTCPeerConnection.addTrack() wurde aktualisiert, um es zu ermöglichen, Tracks hinzuzufügen, die nicht Bestandteil der angegebenen Streams sind, die zur Verbindung hinzugefügt werden. Stattdessen werden die Streams verwendet, um die Tracks am empfangenden Ende der Verbindung zu gruppieren (Firefox Bug 1271669).

Neue APIs

Sonstige

MathML

Keine Änderung.

SVG

  • Unterstützung für die veralteten Elemente <altGlyph>, <altGlyphDef> und <altGlyphItem> wurde entfernt (Firefox Bug 1260032).

Audio/Video

Keine Änderung.

Plugins und Flash

Ab Firefox 49 blockiert Firefox standardmäßig bestimmte Arten von Flash-Inhalten, die für die ordnungsgemäße Funktion von Websites nicht erforderlich sind. Dieses Verhalten, das durch die Präferenz browser.safebrowsing.blockedURIs.enabled gesteuert wird, trägt dazu bei, die Leistung von Websites und allgemein von Firefox zu verbessern, ohne einen wesentlichen Einfluss auf die Benutzerfreundlichkeit der Websites zu haben. Es trägt auch dazu bei, die Stabilität des Browser-Erlebnisses zu verbessern, indem eine Hauptursache für Abstürze eliminiert wird. Die blockierten Flash-Module umfassen mehrere Module, die nur zu Fingerabdruckzwecken verwendet werden, sowie eine Reihe von "Supercookie"-Modulen, und in der Zukunft könnte die Liste der blockierten Module erweitert werden. Details hierzu finden Sie im Firefox Bug 1275591.

Dies ist der nächste Schritt auf der Reise in eine plugin-freie Zukunft. HTML ist inzwischen so weit fortgeschritten, dass Plugins in Zukunft nicht mehr benötigt werden, um Aufgaben zu erledigen.

HTTP

Netzwerk

  • Die Implementierung der Proxy Auto-Configuration (PAC) wurde aktualisiert. Nun unterstützen weekdayRange, dateRange und timeRange "umgekehrte Bereiche", zum Beispiel wird weekdayRange("SAT", "MON") true auswerten, wenn der aktuelle Tag Samstag, Sonntag oder Montag ist (Firefox Bug 1251332).

Sicherheit

Kompatibilität

Um die Kompatibilität mit vorhandenen Inhalten zu verbessern, akzeptiert Firefox nun einige WebKit-präfixierte Eigenschaften und Attribute.

  • Die folgenden Eigenschaften funktionieren jetzt auch mit -webkit-Präfix:

    • -webkit-align-items
    • -webkit-align-content
    • -webkit-align-self
    • -webkit-animation
    • -webkit-animation-delay
    • -webkit-animation-direction
    • -webkit-animation-duration
    • -webkit-animation-fill-mode
    • -webkit-animation-iteration-count
    • -webkit-animation-name
    • -webkit-animation-play-state
    • -webkit-animation-timing-function
    • -webkit-backface-visibility
    • -webkit-background-clip
    • -webkit-background-origin
    • -webkit-background-size
    • -webkit-border-bottom-left-radius
    • -webkit-border-bottom-right-radius
    • -webkit-border-image
    • -webkit-border-top-left-radius
    • -webkit-border-top-right-radius
    • -webkit-border-radius
    • -webkit-box-shadow
    • -webkit-filter
    • -webkit-flex
    • -webkit-flex-basis
    • -webkit-flex-direction
    • -webkit-flex-flow
    • -webkit-flex-grow
    • -webkit-flex-shrink
    • -webkit-flex-wrap
    • -webkit-justify-content
    • -webkit-order
    • -webkit-perspective
    • -webkit-perspective-origin
    • -webkit-text-size-adjust
    • -webkit-transform
    • -webkit-transform-origin
    • -webkit-transform-style
    • -webkit-transition
    • -webkit-transition-delay
    • -webkit-transition-duration
    • -webkit-transition-property
    • -webkit-transition-timing-function
    • -webkit-user-select
  • Die folgenden Eigenschaften werden auf die äquivalente Eigenschaft mit Präfix abgebildet:

    • -webkit-box-flex
    • -webkit-box-ordinal-group
    • -webkit-box-orient
    • -webkit-box-align
    • -webkit-box-pack
  • Für <image>-Werte:

    • Die folgenden Funktionen werden auf ihre nicht-präfixierten Äquivalente abgebildet: -webkit-linear-gradient(), -webkit-radial-gradient(), -webkit-repeating-linear-gradient() und -webkit-repeating-radial-gradient().
    • Das veraltete -webkit-gradient wird unterstützt (und zu einem regulären Verlauf umgewandelt).
  • Die folgenden display-Werte werden umgewandelt:

    • -webkit-box zu -moz-box
    • -webkit-flex zu flex
    • -webkit-inline-box zu inline-flex
    • -webkit-inline-flex zu -moz-inline-flex
  • Die folgenden Eigenschaften werden unterstützt (und werden nicht zu einem nicht-präfixierten Äquivalent zugeordnet):

  • Die Schnittstelle WebKitCSSMatrix ist ein Alias von DOMMatrix.

  • Die folgenden Media-Query-Features wurden implementiert:

    • -webkit-min-device-pixel-ratio als Alias von min-resolution mit dem gleichen Wert (in dppx), obwohl dieses Feature standardmäßig deaktiviert ist (hinter about:config Pref layout.css.prefixes.device-pixel-ratio-webkit).
    • -webkit-max-device-pixel-ratio als Alias von max-resolution mit dem gleichen Wert (in dppx); dieses Feature ist ebenfalls standardmäßig deaktiviert, hinter der gleichen about:config Pref.
    • -webkit-transform-3d, immer übereinstimmend, was die Unterstützung von 3D-Transformationen anzeigt.

Änderungen für Add-on- und Mozilla-Entwickler

WebExtensions

  • Unterstützung für die history wurde hinzugefügt. Diese bietet Zugriff auf den Browserverlauf mit Methoden, die für die Suche im Verlauf, das Abrufen von Informationen über zuvor besuchte Seiten und das Hinzufügen und Entfernen von Verlaufs-Einträgen zur Verfügung stehen.
  • Die Methode tabs.removeCSS() wurde zur Tabs-API hinzugefügt. Diese Methode ermöglicht das Entfernen von CSS, das zuvor durch Aufrufen von tabs.insertCSS() eingefügt wurde.

Schnittstellen

Sonstige

Keine Änderung.