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 API für die kooperative Planung von Hintergrundaufgaben (auch bekannt als Background Tasks API oder requestIdleCallback API) ist jetzt standardmäßig aktiviert, nachdem sie seit Firefox 53 hinter einer Einstellung verfügbar war. Diese API ermöglicht es Ihnen, Aufgaben zu planen, die ausgeführt werden sollen, wenn der Browser feststellt, dass vor dem nächsten Neuzeichnen freie Zeit verfügbar 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 in Nightly unter macOS verfügbar). Diese API stellt virtuelle Realitätsgeräte – beispielsweise head-mounted Displays wie Oculus Rift oder HTC Vive – Web-Apps zur Verfügung und ermöglicht es Entwicklern, Positions- und Bewegungsinformationen des Displays in Bewegungen in einer 3D-Szene zu übersetzen und Inhalte in solchen Displays darzustellen.
  • Die Intersection Observer API — die eine Möglichkeit bietet, Änderungen des Schnittpunkts eines Ziel-Elements mit einem Vorfahren-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 Workers/Push

  • Nachrichten, die an Service-Worker-Kontexte gesendet werden (z. B. als Ereignisobjekt von onmessage), werden nun durch MessageEvent-Objekte dargestellt, um Konsistenz mit anderen Web-Messaging-Funktionen zu gewährleisten.
  • Die Methode PushManager.subscribe() akzeptiert nun ArrayBuffers und Base64-codierte Strings als applicationServerKey-Werte (Firefox Bug 1337348).

Web Audio API

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

WebRTC

  • getUserMedia() liefert jetzt einen Stereo-Audiostream standardmäßig, wenn das Quellgerät Stereo-Sound bereitstellt; die Unterstützung für gezielt monomatischen Eingang wird in Firefox 56 kommen. Dies funktioniert derzeit nur auf dem Desktop; mobiler Firefox unterstützt derzeit keine Stereo-Audioeingangsquellen (Firefox Bug 971528).
  • Die getUserMedia() Medienfähigkeit-, Einschränkungen- und Einstellungen autoGainControl und noiseSuppression entsprechen jetzt der Spezifikation; früher waren sie moz-geprägt (Firefox Bug 1366415).
  • Wenn mit einem leeren Einschränkungssatz aufgerufen, 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 RTCInboundRTPStreamStats-Dictionary-Feld, früher mozRtt genannt, wurde in roundTripTime umbenannt, um der Spezifikation zu entsprechen; zusätzlich wurde sein Verhalten angepasst, um dem Standard zu entsprechen: Es enthält einen doppelt genauen Gleitkommawert, der die Round-Trip-Zeit basierend auf den RTCP-Zeitstempeln im RTCP-Empfängerbericht schätzt, gemessen in Sekunden (gemäß dem in RFC 3550, Abschnitt 6.4.1 beschriebenen Algorithmus). (Firefox Bug 1344970). Es sollte jedoch darauf hingewiesen werden, dass diese Eigenschaft bald zu einem anderen Dictionary (RTCRemoteInboundRTPStreamStats) verschoben wird (Firefox Bug 1380555).
  • Das RTCRTPStreamStats-Dictionary enthält jetzt die Felder firCount, pliCount und nackCount. Diese geben Niedriglevel-Informationen zurück, die verwendet werden können, um zu bestimmen, wie zuverlässig die Verbindung ist (Firefox Bug 1348657).
  • Das RTCOutboundRTPStreamStats-Dictionary enthält jetzt das Feld framesEncoded, das die Anzahl der Frames meldet, die erfolgreich für den Stream codiert wurden; mit diesen Informationen können Sie die Bildrate berechnen (Firefox Bug 1348657).
  • Auf Android gibt es jetzt eine Einstellmöglichkeit, um die Hardware-Videocodierung zu aktivieren, um die Leistung von Videoanrufen zu verbessern und die Akkulaufzeit zu verlängern. Wird standardmäßig in Firefox 56 aktiviert (Firefox Bug 1265755).

API für verschlüsselte Medienerweiterungen

  • Firefox erlaubt derzeit die Verwendung von verschlüsselten Medienerweiterungen in unsicheren Kontexten, obwohl dies in der Spezifikation nicht zugelassen ist. Dies wird in naher Zukunft geändert, und ab Firefox 55 werden Deprecation-Warnungen auf die Webkonsole ausgegeben, wenn dies geschieht. (Firefox Bug 1361000).
  • Derzeit erfordert Firefox nicht, dass mindestens ein MediaKeySystemCapabilities-Objekt im Parameter suggestedConfigurations enthalten ist, der an Navigator.requestMediaKeySystemAccess() übergeben wird, was die Spezifikation vorschreibt. Ab Firefox 55 wird eine Warnung an die Webkonsole ausgegeben, wenn eine Audio- oder Videokonfiguration angegeben ist, ohne unterstützte Codecs anzugeben. Bald wird das Nicht-Einschließen einer gültigen Konfiguration für Audio und/oder Video eine Ausnahme auslösen (Firefox Bug 1368683).

WebGL

Sicherheit

Plugins

  • Flash-Inhalte sind jetzt "klick-zum-Aktivieren" (Firefox Bug 1317856). Dies wurde sofort für alle Benutzer von Nightly in Kraft gesetzt, und 50 % der Beta-Benutzer. Für die Release-Version von Firefox 55 ist geplant, dies für 5 % der Benutzer 2 Wochen nach der Veröffentlichung, für 25 % der Benutzer 4 Wochen nach der Veröffentlichung und für 100 % der Benutzer 6 Wochen nach der Veröffentlichung zu aktivieren (Firefox Bug 1365714).
  • Flash und andere Plugins können nicht mehr von einem anderen URL-Schema als http:// und https:// geladen werden (Firefox Bug 1335475).

Sonstiges

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

Entfernungen aus der Web-Plattform

HTML

  • Das Attribut xml:base kann nicht mehr verwendet werden, um die Basis-URL für Pfade festzulegen, die im style-Attribut erscheinen, zum Beispiel

    <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 Einstellung (layout.css.scoped-style.enabled) versteckt, da es von keinem anderen Browser unterstützt wird.

  • Die Unterstützung für den obskuren MSThemeCompatible-Wert des http-equiv-Attributs des <meta>-Elements wurde aus Gecko entfernt. Kein anderer moderner Browser unterstützt es und es 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 auf macOS. Aus diesem Grund wurde sie in Firefox 55 entfernt, um mit anderen Browsern in Einklang zu stehen.
  • Die proprietäre Firefox OS Device Storage API wurde von der Plattform entfernt (Firefox Bug 1299500).
  • Der aShowDialog-Parameter der nicht standardmäßigen Window.find()-Methode (der angegeben werden konnte, um ein Suchdialog im Browser zu öffnen) wurde entfernt (Firefox Bug 1348409).
  • Die Methode HTMLFormElement.requestAutoComplete() wurde entfernt (siehe HTMLFormElement) (Firefox Bug 1270740).
  • Die nicht standardmäßigen, Mozilla-spezifischen, WebRTC Angeboten Optionen mozDontOfferDataChannel und mozBundleOnly wurden aus dem RTCOfferOptions-Dictionary entfernt und werden von RTCPeerConnection.createOffer() nicht mehr unterstützt (Firefox Bug 1196974).
  • Unterstützung für die proprietäre Firefox OS Audio Channels API wurde aus HTMLMediaElement und AudioContext entfernt (Firefox Bug 1358061).

SVG

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

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

WebExtensions

Ältere Versionen