Firefox 55 für Entwickler

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

Änderungen für Webentwickler

Entwicklerwerkzeuge

HTML

CSS

SVG

JavaScript

APIs

Neue APIs

  • Die Collaborative Scheduling of Background Tasks API (auch bekannt als Background Tasks API oder die requestIdleCallback API) ist nun standardmäßig aktiviert, nachdem sie seit Firefox 53 hinter einer Einstellung verfügbar war. Diese API ermöglicht es, Aufgaben zu planen, die ausgeführt werden sollen, wenn der Browser entscheidet, dass genügend Zeit vor dem nächsten Neuzeichnen vorhanden ist, sodass Ihr Code diese Zeit nutzen kann, ohne sichtbare Leistungseinbußen zu verursachen (Firefox Bug 1314959).
  • Die WebVR 1.1 API ist jetzt standardmäßig unter Windows aktiviert (und ist unter Nightly auf macOS verfügbar). Diese API stellt Virtual-Reality-Geräte - beispielsweise Head-Mounted Displays wie Oculus Rift oder HTC Vive - Web-Apps zur Verfügung, wodurch Entwickler Positions- und Bewegungsinformationen vom Display in Bewegungen in einem 3D-Szenario umsetzen und Inhalte in solche Displays präsentieren können.
  • Die Intersection Observer API — die eine Möglichkeit bietet, Änderungen der Schnittmenge eines Zielelements mit einem Vorfahr-Element oder mit dem Ansichtsfenster eines Top-Level-Dokuments asynchron zu beobachten — wurde hinzugefügt (Firefox Bug 1321865).

DOM

DOM-Ereignisse

Selection-API

Workers

Service Worker/Push

  • Nachrichten, die an Service Worker-Kontexte gesendet werden (z.B. als Ereignisobjekt von onmessage, werden nun durch MessageEvent-Objekte repräsentiert, um der Konsistenz mit anderen Web-Messaging-Funktionen Rechnung zu tragen.
  • Die Methode PushManager.subscribe() akzeptiert nun ArrayBuffers und Base64-kodierte Zeichenfolgen als applicationServerKey-Werte (Firefox Bug 1337348).

Web Audio API

  • Ein nicht-standardmäßiger Konstruktor (der einen Zeichenfolgen-Enum-Wert akzeptierte, der den Zweck angab, für den der Kontext verwendet werden würde) für die Schnittstelle AudioContext verursachte Fehler, wenn der options-Parameter bereitgestellt wurde. Wir haben den nicht-standardmäßigen Konstruktor entfernt. Bitte beachten Sie jedoch, dass der options-Parameter noch nicht in Firefox unterstützt wird und derzeit ignoriert wird (Firefox Bug 1361475).

WebRTC

  • getUserMedia() bietet nun standardmäßig einen Stereo-Audiostream, wenn das Quellgerät Stereo-Sound liefert. Unterstützung für die spezifische Anforderung von Mono-Eingaben wird ab Firefox 56 verfügbar sein. Dies funktioniert derzeit nur auf dem Desktop; mobiles Firefox unterstützt derzeit keine Stereo-Audioeingabequellen (Firefox Bug 971528).
  • Die getUserMedia()-Medieneigenschaften, -beschränkungen und -einstellungen autoGainControl und noiseSuppression entsprechen jetzt der Spezifikation; früher waren sie moz-geprefixed (Firefox Bug 1366415).
  • Bei Aufruf mit einem leeren Constraints-Set gab getUserMedia() irrtümlicherweise 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 RTCInboundRTPStreamStats-Wörterbuchfeld, das früher mozRtt genannt wurde, wurde in roundTripTime umbenannt, um der Spezifikation zu entsprechen; zudem wurde sein Verhalten angepasst, um dem Standard zu entsprechen: Es enthält einen Gleitkommawert mit doppelter Genauigkeit, der die Rundlaufzeit basierend auf den RTCP-Zeitstempeln im RTCP-Empfängerbericht schätzt, gemessen in Sekunden (gemäß dem Algorithmus beschrieben in RFC 3550, Abschnitt 6.4.1). (Firefox Bug 1344970). Bitte beachten Sie jedoch, dass diese Eigenschaft bald in ein anderes Wörterbuch (RTCRemoteInboundRTPStreamStats) verschoben wird (Firefox Bug 1380555).
  • Das RTCRTPStreamStats-Wörterbuch enthält nun die Felder firCount, pliCount und nackCount. Diese liefern niedrigstufige Informationen, die verwendet werden können, um die Zuverlässigkeit der Verbindung zu bestimmen (Firefox Bug 1348657).
  • Das RTCOutboundRTPStreamStats-Wörterbuch enthält nun das Feld framesEncoded, das die Anzahl der erfolgreich kodierten Frames für den Stream angibt; mit diesen Informationen können Sie die Bildrate berechnen (Firefox Bug 1348657).
  • Auf Android gibt es jetzt eine Einstellung, um die Hardware-Videokodierung zu aktivieren, um die Leistung von Videoanrufen zu verbessern und den Akku zu schonen. Um standardmäßig aktiviert zu werden in Firefox 56 (Firefox Bug 1265755).

Verschlüsselte Medienerweiterungen API

  • Firefox erlaubt derzeit die Verwendung von Encrypted Media Extensions in unsicheren Kontexten, obwohl dies in der Spezifikation nicht erlaubt ist. Dies wird sich in naher Zukunft ändern, und ab Firefox 55 werden Deprecation-Warnungen in der Webkonsole ausgegeben, wenn dies geschieht. (Firefox Bug 1361000).
  • Firefox verlangt derzeit nicht, dass mindestens ein MediaKeySystemCapabilities-Objekt im suggestedConfigurations-Parameter enthalten ist, der in Navigator.requestMediaKeySystemAccess() übergeben wird, was die Spezifikation vorschreibt. Ab Firefox 55 wird eine Warnung in der Webkonsole ausgegeben, wenn eine Audio- oder Videokonfiguration angegeben wird, ohne unterstützte Codecs anzugeben. Bald wird es eine Ausnahme auslösen, wenn keine gültige Konfiguration für ein oder mehrere auditive und visuelle Elemente enthalten ist (Firefox Bug 1368683).

WebGL

Sicherheit

Plugins

  • Flash-Inhalte sind jetzt „klick-zum-Aktivieren“ (Firefox Bug 1317856). Dies wurde sofort für alle Nutzer von Nightly umgesetzt und für 50 % der Beta-Nutzer. Für die Freigabeversion von Firefox 55 ist geplant, dies für 5 % der Nutzer 2 Wochen nach der Veröffentlichung zu aktivieren, für 25 % der Nutzer 4 Wochen nach der Veröffentlichung und für 100 % der Nutzer 6 Wochen nach der Veröffentlichung (Firefox Bug 1365714).
  • Flash und andere Plugins können nicht mehr von jedem URL-Schema außer http:// und https:// geladen werden (Firefox Bug 1335475).

Sonstiges

  • Firefox unter Linux kann jetzt im Kopflos-Modus mit dem -headless-Flag betrieben werden (siehe Firefox Bug 1356681).

Entfernung von der Webplattform

HTML

  • Das xml:base-Attribut kann nicht mehr verwendet werden, um die Basis-URL für Pfade zu setzen, die im style-Attribut erscheinen, z.B. —

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

  • Das scoped-Attribut des <style>-Elements wurde in Inhaltsdokumenten in Firefox 55+ hinter einer Voreinstellung (layout.css.scoped-style.enabled) versteckt, da es von keinem anderen Browser unterstützt wird.

  • Die Unterstützung für den seltenen MSThemeCompatible-Wert des http-equiv-Attributs des <meta>-Elements wurde aus Gecko entfernt. Keine anderen modernen Browser unterstützen ihn und er verursachte Kompatibilitätsprobleme (Firefox Bug 966240).

CSS

APIs

  • Die UIEvent.isChar-Eigenschaft wurde von keinem anderen Browser außer Firefox unterstützt und war nie vollständig implementiert, außer unter macOS. Aus diesem Grund wurde sie in Firefox 55 entfernt, um mit anderen Browsern übereinzustimmen.
  • Die proprietäre Firefox OS Device Storage API wurde von der Plattform entfernt (Firefox Bug 1299500).
  • Der aShowDialog-Parameter der nicht-Standard-Window.find()-Methode (die angegeben werden konnte, um einen "Suchen"-Dialog im Browser zu öffnen) 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 RTCOfferOptions-Wörterbuch entfernt und werden von RTCPeerConnection.createOffer() nicht mehr unterstützt (Firefox Bug 1196974).
  • Die Unterstützung für die proprietäre Firefox OS Audio Channels API wurde sowohl aus HTMLMediaElement als auch aus AudioContext entfernt (Firefox Bug 1358061).

SVG

  • Die SVGZoomEvent und SVGZoomEvents Schnittstellen wurden sowohl aus der SVG2-Spezifikation als auch aus Gecko entfernt, ebenso wie das onzoom <svg>-Attribut (Firefox Bug 1314388).

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

WebExtensions

Ältere Versionen