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 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

  • Elemente, bei denen das Attribut contenteditable auf true gesetzt wurde, verwenden nun <div>-Elemente, um unterschiedliche Textzeilen zu trennen und Firefox somit mit anderen modernen Browsern gleichzustellen (Firefox Fehler 1297414).
  • dom.forms.datetime ist standardmäßig in Nightly aktiviert (Firefox Fehler 1366188).

CSS

SVG

JavaScript

APIs

Neue APIs

  • Die Collaborative Scheduling of Background Tasks API (auch bekannt als Background Tasks API oder requestIdleCallback API) ist nun 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, 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 Fehler 1314959).
  • Die WebVR 1.1 API ist jetzt standardmäßig auf Windows aktiviert (und ist auf macOS in Nightly verfügbar). Diese API macht virtuelle Realität Geräte wie z.B. Head-Mounted Displays wie das Oculus Rift oder HTC Vive für Web-Apps zugänglich und ermöglicht es Entwicklern, Positions- und Bewegungsinformationen vom Display in Bewegungen um eine 3D-Szene zu übersetzen und Inhalte in solchen Displays darzustellen.
  • Die Intersection Observer API — die eine Möglichkeit bietet, Veränderungen im Schnittpunkt eines Ziel-Elements mit einem Vorfahrenelement oder mit dem obersten Dokument-Viewport asynchron zu beobachten — wurde hinzugefügt (Firefox Fehler 1321865).

DOM

DOM-Ereignisse

Auswahl-API

Workers

Service Workers/Push

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

Web Audio API

  • Ein nicht standardmäßiger Konstruktor (der einen Zeichenfolgen-Enum-Wert akzeptierte, der den Verwendungszweck angibt) für die AudioContext-Schnittstelle verursachte Fehler, wenn der options-Parameter angegeben wurde. Wir haben den nicht standardmäßigen Konstruktor entfernt. Beachten Sie jedoch, dass der options-Parameter in Firefox noch nicht unterstützt wird und derzeit ignoriert wird (Firefox Fehler 1361475).

WebRTC

  • getUserMedia() stellt jetzt standardmäßig einen Stereo-Audiostream bereit, wenn das Quellgerät Stereo-Sound bietet; die Unterstützung, um speziell Mono-Eingaben anzufordern, wird in Firefox 56 kommen. Dies funktioniert derzeit nur auf Desktops; mobiles Firefox unterstützt derzeit keine Stereo-Audioeingangsquellen (Firefox Fehler 971528).
  • Die getUserMedia() Medienfähigkeiten, Einschränkungen und Einstellungen autoGainControl und noiseSuppression stimmen nun mit der Spezifikation überein; früher waren sie moz-geprägt (Firefox Fehler 1366415).
  • Wenn getUserMedia() mit einem leeren Einschränkungssatz aufgerufen wurde, wurde fälschlicherweise NotSupportedError anstelle von TypeError zurückgegeben. Dies wurde behoben (Firefox Fehler 1349480).
  • Die folgenden neuen WebRTC-Statistiken sind verfügbar: framesEncoded, pliCount, nackCount und firCount (Firefox Fehler 1348657).
  • Das ehemals mozRtt genannte Feld des RTCInboundRTPStreamStats-Dictionaries wurde in roundTripTime umbenannt, um der Spezifikation zu entsprechen; zudem wurde sein Verhalten angepasst, um dem Standard zu entsprechen: Es enthält einen doppeltgenauen Fließkommawert, der die Round-Trip-Zeit basierend auf den RTCP-Zeitstempeln im RTCP-Empfängerbericht schätzt, gemessen in Sekunden (nach dem Algorithmus beschrieben in RFC 3550, Abschnitt 6.4.1). (Firefox Fehler 1344970). Beachten Sie jedoch, dass diese Eigenschaft bald in ein anderes Dictionary (RTCRemoteInboundRTPStreamStats) verschoben wird (Firefox Fehler 1380555).
  • Das RTCRTPStreamStats-Dictionary umfasst jetzt die Felder firCount, pliCount und nackCount. Diese liefern niedrigstufige Informationen, die zur Bestimmung der Zuverlässigkeit der Verbindung verwendet werden können (Firefox Fehler 1348657).
  • Das RTCOutboundRTPStreamStats-Dictionary umfasst jetzt das Feld framesEncoded, das die Anzahl der Frames berichtet, die erfolgreich für den Stream codiert wurden; mit diesen Informationen können Sie die Bildrate berechnen (Firefox Fehler 1348657).
  • Auf Android gibt es jetzt eine Voreinstellung, um die Hardware-Video-Codierung zu aktivieren, um die Videokonferenzleistung zu verbessern und die Batterie zu schonen. Soll in Firefox 56 standardmäßig aktiviert werden (Firefox Fehler 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 Warnmeldungen in der Webkonsole ausgegeben, wenn dies geschieht. (Firefox Fehler 1361000).
  • Firefox verlangt derzeit nicht, dass mindestens ein MediaKeySystemCapabilities-Objekt im suggestedConfigurations-Parameter 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 ohne Angabe unterstützter Codecs angegeben wird. Bald wird das Fehlen einer gültigen Konfiguration für eines oder mehrerer Audio- und Videokonfigurationen eine Ausnahme auslösen (Firefox Fehler 1368683).

WebGL

Sicherheit

Plugins

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

Sonstiges

  • Firefox unter Linux kann jetzt im Headless-Modus mit dem -headless-Flag ausgeführt werden (siehe Firefox Fehler 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 festzulegen, zum Beispiel –

    <div xml:base="https://example.com/" style="background:url(picture.jpg)"></div> (Firefox Fehler 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 obskuren MSThemeCompatible-Wert des <meta>-Elements http-equiv wurde aus Firefox entfernt. Kein anderer moderner Browser unterstützt diesen Wert, und er verursachte Kompatibilitätsprobleme (Firefox Fehler 966240).

CSS

APIs

  • Die UIEvent.isChar Eigenschaft wurde von keinem anderen als Firefox-Browser unterstützt, und sie wurde außer auf macOS nie vollständig implementiert. Aus diesem Grund wurde sie in Firefox 55 entfernt, um mit anderen Browsern gleichzuziehen.
  • Die proprietäre Firefox OS Device Storage API wurde aus der Plattform entfernt (Firefox Fehler 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 Fehler 1348409).
  • Die Methode HTMLFormElement.requestAutoComplete() wurde entfernt (siehe HTMLFormElement) (Firefox Fehler 1270740).
  • Die nicht-standardmäßigen, Mozilla-spezifischen, WebRTC-Angebotsoptionen mozDontOfferDataChannel und mozBundleOnly wurden aus dem RTCOfferOptions-Dictionary entfernt und werden nicht mehr von RTCPeerConnection.createOffer() unterstützt (Firefox Fehler 1196974).
  • Die Unterstützung für die proprietäre Firefox OS Audio Channels API wurde von HTMLMediaElement und AudioContext entfernt (Firefox Fehler 1358061).

SVG

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

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

WebExtensions