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 Hintergrundaufgaben-API oder requestIdleCallback API) ist jetzt standardmäßig aktiviert, nachdem sie seit Firefox 53 hinter einer Präferenz 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 Neuladen freie Zeit vorhanden ist, damit Ihr Code diese Zeit nutzen kann, ohne sichtbare Leistungsprobleme zu verursachen (Firefox Bug 1314959).
  • Die WebVR 1.1 API ist nun standardmäßig unter Windows aktiviert (und auf macOS in Nightly verfügbar). Diese API gibt virtuelle Realität Geräte frei — wie zum Beispiel Head-Mounted Displays wie die Oculus Rift oder HTC Vive — für Web-Apps, sodass Entwickler die Position und Bewegungsinformationen vom Display in Bewegungen um eine 3D-Szene umsetzen und Inhalte in solchen Displays präsentieren können.
  • Die Intersection Observer API — die eine Möglichkeit bietet, Änderungen im Schnittpunkt eines Ziels mit einem Vorfahren-Element oder mit dem Viewport 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-Kontext gesendet werden (z. B. als das Ereignisobjekt von onmessage, werden jetzt durch MessageEvent-Objekte repräsentiert, um Konsistenz mit anderen Webnachrichtenfunktionen zu erreichen.
  • Die Methode PushManager.subscribe() akzeptiert jetzt ArrayBuffers und Base64-encoded Strings als applicationServerKey-Werte (Firefox Bug 1337348).

Web Audio API

  • Ein nicht-standardmäßiger Konstruktor (der einen String Enum-Wert akzeptierte, um den Verwendungszweck für den Kontext anzugeben) des AudioContext-Interfaces warf Fehler, wenn der options-Parameter bereitgestellt wurde. Wir haben den nicht-standardmäßigen Konstruktor entfernt. Bitte beachten Sie jedoch, dass der options-Parameter 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 Stereo-Sound bietet; Unterstützung, um speziell Mono-Eingang anzufordern, kommt in Firefox 56. Dies funktioniert derzeit nur auf Desktop; Mobile Firefox unterstützt derzeit keine Stereo-Audioquellen (Firefox Bug 971528).
  • Die Eigenschaften autoGainControl und noiseSuppression der Fähigkeiten, Einschränkungen und Einstellungen von getUserMedia() stimmen nun mit der Spezifikation überein; früher waren sie moz-geprefixed (Firefox Bug 1366415).
  • Wenn getUserMedia() mit einem leeren Satz von Einschränkungen aufgerufen wurde, gab es 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, das früher mozRtt genannt wurde, 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 Fließkommawert, der die Round-Trip-Zeit basierend auf den RTCP-Zeitstempeln im RTCP Receiver Report misst, gemessen in Sekunden (nach dem Algorithmus beschrieben in RFC 3550, Abschnitt 6.4.1). (Firefox Bug 1344970). Bitte beachten Sie jedoch, dass diese Eigenschaft bald in ein anderes Dictionary (RTCRemoteInboundRTPStreamStats) verschoben wird (Firefox Bug 1380555).
  • Das RTCRTPStreamStats-Dictionary enthält jetzt die Felder firCount, pliCount, und nackCount. Diese geben niederstufige Informationen zurück, die zur Beurteilung der Verbindungszuverlässigkeit verwendet werden können (Firefox Bug 1348657).
  • Das RTCOutboundRTPStreamStats-Dictionary enthält jetzt das Feld framesEncoded, das die Anzahl der erfolgreich für den Stream kodierten Frames angibt; mit dieser Information können Sie die Bildrate berechnen (Firefox Bug 1348657).
  • Auf Android gibt es jetzt eine pref, um die Hardware-Videoenkodierung einzuschalten, um die Leistung von Videoanrufen zu verbessern und den Akku zu schonen. Soll in Firefox 56 standardmäßig aktiviert werden (Firefox Bug 1265755).

Encrypted Media Extensions API

  • Firefox erlaubt derzeit die Nutzung 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 die Webkonsole ausgegeben, wenn dies geschieht. (Firefox Bug 1361000).
  • Firefox erfordert derzeit nicht, dass mindestens ein MediaKeySystemCapabilities-Objekt in den suggestedConfigurations-Parameter aufgenommen wird, der an Navigator.requestMediaKeySystemAccess() übergeben wird, was die Spezifikation vorschreibt. Ab Firefox 55 wird eine Warnung in der Webkonsole ausgegeben, wenn eine Audio- oder Videokonfiguration ohne Angabe unterstützter Codecs spezifiziert wird. Bald wirft das Versäumnis, eine gültige Konfiguration für ein oder mehrere von Audio und Video anzugeben, eine Ausnahme Firefox Bug 1368683).

WebGL

Sicherheit

Plugins

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

Sonstiges

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

Entfernungen aus der Webplattform

HTML

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

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

  • Das scoped Attribut des <style> Elements wurde hinter einem Pref (layout.css.scoped-style.enabled) in Inhalt-Dokumenten in Firefox 55+ versteckt, da keine anderen Browser es unterstützen.

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

CSS

APIs

  • Die UIEvent.isChar Eigenschaft wurde nie von einem anderen Browser als Firefox unterstützt und war nie vollständig implementiert außer auf macOS. Aus diesem Grund wurde sie in Firefox 55 entfernt, um sich an andere Browser anzupassen.
  • Die proprietäre Firefox OS Device Storage API wurde aus der Plattform entfernt (Firefox Bug 1299500).
  • Der aShowDialog Parameter der nicht-standardmäßigen Window.find() Methode (die angegeben werden konnte, um ein "Find"-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-Objekt 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 von 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