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 55: Versionshinweise für Entwickler

Firefox 55 wurde am 8. August 2017 veröffentlicht. Dieser Artikel führt wichtige Änderungen auf, die für Webentwickler nützlich sind.

Änderungen für Webentwickler

Entwicklerwerkzeuge

HTML

  • Elemente, bei denen contenteditable auf true gesetzt ist, verwenden jetzt <div>-Elemente, um Textzeilen voneinander zu trennen. Damit verhält sich Firefox wie andere moderne Browser (Firefox-Bug 1297414).
  • dom.forms.datetime ist in Nightly standardmäßig aktiviert (Firefox-Bug 1366188).

CSS

SVG

JavaScript

APIs

Neue APIs

  • Die API zur kooperativen Planung von Hintergrundaufgaben (auch als Background Tasks API oder requestIdleCallback-API bezeichnet) ist jetzt standardmäßig aktiviert, nachdem sie seit Firefox 53 über eine Voreinstellung verfügbar war. Mit dieser API können Sie Aufgaben für Zeiträume einplanen, in denen der Browser vor dem nächsten Neuzeichnen freie Kapazität feststellt. So kann Ihr Code diese Zeit nutzen, ohne sichtbare Leistungseinbußen zu verursachen (Firefox-Bug 1314959).
  • Die WebVR 1.1 API ist unter Windows jetzt standardmäßig aktiviert (und unter macOS in Nightly verfügbar). Diese API macht Virtual-Reality-Geräte – beispielsweise Head-Mounted Displays wie Oculus Rift oder HTC Vive – für Webanwendungen zugänglich. Entwickler können dadurch Positions- und Bewegungsdaten des Displays in Bewegungen innerhalb einer 3D-Szene umsetzen und Inhalte auf solchen Displays darstellen.
  • Die Intersection Observer API wurde hinzugefügt. Sie ermöglicht es, Änderungen am Schnittbereich eines Zielelements mit einem übergeordneten Element oder mit dem Viewport eines Dokuments auf oberster Ebene asynchron zu beobachten (Firefox-Bug 1321865).

DOM

  • Die Eigenschaften scrollX und scrollY von Window sowie ihre Aliase pageXOffset und pageYOffset wurden für eine Genauigkeit auf Subpixel-Ebene aktualisiert. Statt einer Ganzzahl geben sie jetzt einen Gleitkommawert zurück, der die Scrollposition auf Displays mit Subpixel-Genauigkeit präziser beschreibt (Firefox-Bug 1151421). Bei Bedarf können Sie die Werte mit Math.round() in Ganzzahlen umwandeln.
  • MediaQueryList und weitere damit zusammenhängende Funktionen wurden an die aktuelle Spezifikation angepasst. Siehe Firefox-Bug 1354441 sowie MediaQueryList und MediaQueryListEvent.
  • Methoden von DOMTokenList, die den Listenwert ändern, entfernen jetzt automatisch führende und nachgestellte Leerzeichen sowie doppelte Tokens (Firefox-Bug 869788; siehe auch Entfernen von Leerzeichen und Duplikaten).
  • Die Eigenschaft maxLength von HTMLInputElement kann jetzt mit JavaScript dynamisch geändert werden, nachdem das entsprechende HTML erstellt wurde (Firefox-Bug 1352799).
  • Der Konstruktor URL() akzeptiert als Basis (zweiten Parameter) keinen DOMString mehr, sondern nur noch einen USVString. Ein vorhandenes URL-Objekt kann weiterhin als Basis verwendet werden; es wird dabei in den Wert seines href-Attributs umgewandelt (Firefox-Bug 1368950).

DOM-Ereignisse

Selection API

Workers

Service Workers/Push

  • Nachrichten, die an Service-Worker-Kontexte gesendet werden, etwa als Ereignisobjekt von onmessage, werden jetzt durch MessageEvent-Objekte dargestellt. Dies sorgt für Konsistenz mit anderen Web-Messaging-Funktionen.
  • Die Methode PushManager.subscribe() akzeptiert jetzt ArrayBuffer-Objekte und Base64-kodierte Zeichenfolgen als Werte für applicationServerKey (Firefox-Bug 1337348).

Web Audio API

  • Ein nicht standardisierter Konstruktor für die Schnittstelle AudioContext, der einen String-Enum-Wert für den Verwendungszweck des Kontexts akzeptierte, führte zu Fehlern, wenn der Parameter options angegeben wurde. Dieser Konstruktor wurde entfernt. Beachten Sie jedoch, dass der Parameter options in Firefox noch nicht unterstützt wird und derzeit ignoriert wird (Firefox-Bug 1361475).

WebRTC

  • getUserMedia() liefert jetzt standardmäßig einen Stereo-Audiostream, wenn das Quellgerät Stereoton bereitstellt. Die Möglichkeit, ausdrücklich eine Mono-Eingabe anzufordern, wird mit Firefox 56 eingeführt. Derzeit funktioniert dies nur auf Desktop-Geräten; Firefox für Mobilgeräte unterstützt momentan keine Stereo-Audioeingabequellen (Firefox-Bug 971528).
  • Die Medienfunktionen, Constraints und Einstellungen autoGainControl und noiseSuppression von getUserMedia() entsprechen jetzt der Spezifikation. Zuvor hatten sie das Präfix moz (Firefox-Bug 1366415).
  • Bei einem Aufruf mit einer leeren Menge von Constraints gab getUserMedia() fälschlicherweise NotSupportedError statt TypeError zurück. Dies wurde behoben (Firefox-Bug 1349480).
  • Die folgenden neuen WebRTC-Statistiken sind verfügbar: framesEncoded, pliCount, nackCount und firCount (Firefox-Bug 1348657).
  • Das bisher mozRtt genannte Feld des Dictionaries RTCInboundRTPStreamStats wurde gemäß der Spezifikation in roundTripTime umbenannt. Außerdem wurde sein Verhalten an den Standard angepasst: Es enthält einen Gleitkommawert mit doppelter Genauigkeit, der die Umlaufzeit anhand der RTCP-Zeitstempel im RTCP Receiver Report schätzt. Der Wert wird in Sekunden gemessen und folgt dem in RFC 3550, Abschnitt 6.4.1 beschriebenen Algorithmus (Firefox-Bug 1344970). Beachten Sie jedoch, dass diese Eigenschaft demnächst in ein anderes Dictionary (RTCRemoteInboundRTPStreamStats) verschoben wird (Firefox-Bug 1380555).
  • Das Dictionary RTCRTPStreamStats enthält jetzt die Felder firCount, pliCount und nackCount. Sie liefern technische Detailinformationen, anhand derer sich die Zuverlässigkeit der Verbindung beurteilen lässt (Firefox-Bug 1348657).
  • Das Dictionary RTCOutboundRTPStreamStats enthält jetzt das Feld framesEncoded. Es gibt an, wie viele Frames für den Stream erfolgreich kodiert wurden; anhand dieser Information können Sie die Bildrate berechnen (Firefox-Bug 1348657).
  • Unter Android gibt es jetzt eine Voreinstellung, mit der sich Hardware-Videokodierung aktivieren lässt, um die Leistung bei Videoanrufen zu verbessern und den Akku zu schonen. Sie soll in Firefox 56 standardmäßig aktiviert werden (Firefox-Bug 1265755).

Encrypted Media Extensions API

  • Firefox erlaubt derzeit die Verwendung von Encrypted Media Extensions in unsicheren Kontexten, obwohl die Spezifikation dies nicht zulässt. Dies wird sich in naher Zukunft ändern. Ab Firefox 55 wird bei einer solchen Verwendung eine Warnung zur bevorstehenden Einstellung in der Webkonsole ausgegeben (Firefox-Bug 1361000).
  • Firefox verlangt derzeit nicht, dass der an Navigator.requestMediaKeySystemAccess() übergebene Parameter suggestedConfigurations mindestens ein MediaKeySystemCapabilities-Objekt enthält, obwohl die Spezifikation dies vorschreibt. Ab Firefox 55 wird in der Webkonsole eine Warnung ausgegeben, wenn eine Audio- oder Videokonfiguration ohne Angabe unterstützter Codecs festgelegt wird. Künftig wird eine Ausnahme ausgelöst, wenn für Audio oder Video keine gültige Konfiguration angegeben wird (Firefox-Bug 1368683).

WebGL

Sicherheit

Plugins

  • Flash-Inhalte werden jetzt erst nach einem Klick aktiviert (Firefox-Bug 1317856). Dies wurde sofort für alle Nightly-Nutzer und für 50 % der Beta-Nutzer eingeführt. Für die Release-Version von Firefox 55 ist geplant, die Funktion zwei Wochen nach der Veröffentlichung für 5 % der Nutzer, nach vier Wochen für 25 % und nach sechs Wochen für 100 % der Nutzer zu aktivieren (Firefox-Bug 1365714).
  • Flash und andere Plugins können nur noch über die URL-Schemas http:// und https:// geladen werden (Firefox-Bug 1335475).

Sonstiges

  • Firefox unter Linux kann jetzt mit dem Flag -headless im Headless-Modus ausgeführt werden (siehe Firefox-Bug 1356681).

Entfernungen von der Webplattform

HTML

  • Mit dem Attribut xml:base lässt sich die Basis-URL für Pfade im Attribut style nicht mehr festlegen, beispielsweise:

    <div xml:base="https://example.com/" style="background:url(picture.jpg)"></div> (Firefox-Bug 1350521).

  • Das Attribut scoped des Elements <style> ist in Inhaltsdokumenten ab Firefox 55 nur noch über die Voreinstellung layout.css.scoped-style.enabled verfügbar, da es von keinem anderen Browser unterstützt wird.

  • Die Unterstützung für den wenig verbreiteten Wert MSThemeCompatible des Attributs http-equiv des Elements <meta> wurde aus Firefox entfernt. Kein anderer moderner Browser unterstützt ihn, und er verursachte Kompatibilitätsprobleme (Firefox-Bug 966240).

CSS

APIs

  • Die Eigenschaft UIEvent.isChar wurde von keinem anderen Browser als Firefox unterstützt und war, außer unter macOS, nie vollständig implementiert. Deshalb wurde sie in Firefox 55 entfernt, um das Verhalten an andere Browser anzugleichen.
  • Die proprietäre Device Storage API von Firefox OS wurde von der Plattform entfernt (Firefox-Bug 1299500).
  • Der Parameter aShowDialog der nicht standardisierten Methode Window.find(), mit dem sich ein Suchdialog im Browser öffnen ließ, wurde entfernt (Firefox-Bug 1348409).
  • Die Methode HTMLFormElement.requestAutoComplete() wurde entfernt (siehe HTMLFormElement) (Firefox-Bug 1270740).
  • Die nicht standardisierten, Mozilla-spezifischen WebRTC-Angebotsoptionen mozDontOfferDataChannel und mozBundleOnly wurden aus dem Dictionary RTCOfferOptions entfernt und werden von RTCPeerConnection.createOffer() nicht mehr unterstützt (Firefox-Bug 1196974).
  • Die Unterstützung für die proprietäre Audio Channels API von Firefox OS wurde aus HTMLMediaElement und AudioContext entfernt (Firefox-Bug 1358061).

SVG

  • Die Schnittstellen SVGZoomEvent und SVGZoomEvents sowie das Attribut onzoom <svg> wurden aus der SVG2-Spezifikation und aus Gecko entfernt (Firefox-Bug 1314388).

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

WebExtensions