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 57 (Quantum) für Entwickler

Dieser Artikel bietet Informationen zu den Änderungen in Firefox 57 (auch bekannt als Firefox Quantum), die Entwickler betreffen werden. Firefox 57 wurde am 14. November 2017 veröffentlicht.

Firefox 57 === Firefox Quantum

Firefox 57 hat den Veröffentlichungsnamen Quantum erhalten, nach dem Firefox Quantum Ingenieurprojekt, das darauf abzielt, Firefox von Grund auf neu zu bauen, was große Leistungs-, Stabilitäts- und visuelle Verbesserungen mit sich bringt. Dies ist die erste Version von Firefox, die einige dieser Verbesserungen enthielt, daher wollten wir diesen Anlass markieren.

Hinweis: Um mehr über die Quantum-Funktionen in dieser Veröffentlichung zu erfahren, lesen Sie Firefox Quantum Developer Edition: der schnellste Firefox aller Zeiten mit Photon UI und besseren Werkzeugen von Dan Callahan.

Firefox's neue parallele CSS-Engine — auch bekannt als Quantum CSS oder Stylo — ist standardmäßig in Firefox 57 für Desktop aktiviert, mit mobilen Versionen von Firefox, die später folgen werden. Entwickler sollten nichts signifikant anderes bemerken, abgesehen von einer ganzen Reihe von Leistungsverbesserungen. Es gibt jedoch eine Reihe von kleineren funktionalen Unterschieden in Stylo, die implementiert wurden, um das nicht standardmäßige Gecko-Verhalten zu beheben, das beseitigt werden sollte. Wir werden über solche Unterschiede auf Referenzseiten und in den Versionshinweisen berichten, soweit dies angemessen ist (siehe Quantum CSS Hinweise).

Änderungen für Webentwickler

Entwicklerwerkzeuge

Keine Änderungen.

HTML

CSS

Quantum CSS Hinweise

Folgende Bugs wurden in Quantum behoben:

  • Radiale Gradient-Werte wie radial-gradient(circle gold,red) funktionieren im alten Gecko-Stilsystem, obwohl sie es nicht sollten, weil das Komma zwischen circle und gold fehlt (Firefox Bug 1383323).
  • Wenn Sie ein Offscreen-Element beim Onscreen-Rendering animieren, aber eine Verzögerung angeben, wird in Gecko auf manchen Plattformen kein Repaint durchgeführt, z.B. auf Windows (Firefox Bug 1383239).
  • In Gecko können <details> Elemente nicht standardmäßig mit dem open Attribut geöffnet werden, wenn eine animation aktiv darauf ist (Firefox Bug 1382124).
  • In Gecko funktionieren Transitions nicht beim Übergang von einem text-shadow mit einer spezifizierten Farbe zu einem text-shadow ohne spezifizierte Farbe (Firefox Bug 726550).
  • In Gecko kann das Abbrechen einer Animation mit Füllmodus (z.B. mit animation-fill-mode: forwards gesetzt) einen Übergang auf dem gleichen Element auslösen, jedoch nur einmal (siehe Firefox Bug 1192592 und diese Testfälle für mehr Informationen). Im Allgemeinen sollten deklarative Animationen keine Übergänge auslösen.
  • Animationen, die em-Einheiten verwenden, werden in Gecko nicht von Änderungen der font-size auf dem Eltern-Element des animierten Elements beeinflusst, sollte es aber (Firefox Bug 1254424).
  • Gecko behandelt zudem die font-size Vererbung anders als Quantum CSS, was bedeutet, dass für einige Spracheinstellungen geerbte Schriftgrößen kleiner als erwartet enden (siehe Firefox Bug 1391341).
  • Gecko verwendet denselben Mechanismus beim Parsen eines url-token, wenn die domain() oder url-prefix() URL-Matching-Funktionen für eine @-moz-document Regel geparst wird. Quantum CSS nutzt nicht denselben Mechanismus und betrachtet Tokens nicht als ungültig, wenn sie Klammern oder Anführungszeichen enthalten (Firefox Bug 1362333).
  • In Gecko, wenn Sie eine Systemschriftart als Wert eines Canvas 2D Kontextes font (z.B. menu) setzen, schlägt das Abrufen des Schriftwerts fehl, um die erwartete Schriftart zurückzugeben (es wird nichts zurückgegeben). Dies wurde in Quantum behoben. (Firefox Bug 1374885).
  • In Gecko, wenn Sie einen losgelösten Teilbaum erstellen (z.B. ein <div>, das mit createElement() erstellt wurde und noch nicht in das DOM eingefügt ist), wird das Wurzelelement des Teilbaums als Block-Element gesetzt. In Quantum CSS wird dies als Inline-Element gemäß Spezifikation gesetzt (Firefox Bug 1374994).
  • In Gecko werden calc() Ausdrücke abgelehnt — wodurch der Wert ungültig wird — wenn sie als Radiuskomponente einer radial-gradient() Funktion verwendet werden (Firefox Bug 1376019).
  • In Gecko wird calc(1*2*3) nicht erfolgreich geparst; Quantum CSS behebt dies (Firefox Bug 1379467).
  • In Quantum CSS wird calc() überall unterstützt, wo die Spezifikation erklärt, dass es unterstützt werden sollte (Firefox Bug 1350857). In Gecko wird es nicht unterstützt.
  • Gecko hat einen Bug, bei dem die ::before und ::after Pseudo-Elemente weiterhin generiert werden, selbst wenn der content Eigenschaftswert auf normal oder none gesetzt ist. Laut Spezifikation sollten sie es nicht (Firefox Bug 1387931).
  • Ein weiterer Gecko-Bug bedeutet, dass die background-position Eigenschaft nicht zwischen zwei Werten mit unterschiedlichen Zahlen von <position> Werten übergegangen werden kann, z.B. background-position: 10px 10px; und background-position: 20px 20px, 30px 30px; (siehe Firefox Bug 1390446).

SVG

Keine Änderungen.

JavaScript

APIs

Neue APIs

DOM

DOM Ereignisse

Keine Änderungen.

Medien und WebRTC

  • Unterstützung für Nachrichten von beliebiger Größe (bis zu 1GiB, obwohl 256kiB interoperabler ist) wird jetzt auf RTCDataChannel durch Verwendung des End-of-Record (EOR) Flags auf SCTP-Nachrichten unterstützt. Weitere Informationen finden Sie unter Verständnis der Nachrichtengrößenlimits (Firefox Bug 979417).

    Hinweis: Da Firefox das SCTP Stream Schedulers und User Message Interleaving Protokoll, das die Möglichkeit bietet, SCTP-Nachrichten aus mehreren Quellen zu verflechten, noch nicht unterstützt, kann das Senden großer Datenobjekte erhebliche Verzögerungen im gesamten anderen SCTP-Verkehr verursachen. Siehe Firefox Bug 1381145, um den Fortschritt bei der Implementierung und Bereitstellung von Stream-Schedulers-Unterstützung in Firefox zu verfolgen.

  • Die RTCDataChannel.send() Methode kann jetzt eine TypeError Ausnahme auswerfen, wenn die Nachrichtengröße, die Sie senden möchten, nicht mit dem empfangenden User Agent kompatibel ist (dies wird im Rahmen von Firefox Bug 979417 implementiert).

  • Die MediaStream Recording API wurde aktualisiert, sodass jetzt error Ereignisse, die gesendet werden, um Probleme zu melden, die beim Aufnehmen auftreten, vom Typ MediaRecorderErrorEvent anstatt von generischen Ereignissen sind.

  • Die Dokumentation zu OfflineAudioContext wurde aktualisiert, da die Eingaben des Konstruktors jetzt in einem Objekt anstelle einer Liste von Parametern angegeben werden können (Firefox Bug 1388591).

  • Die Web Audio API unterstützt jetzt richtig Mehrkanal-Ausgabe (Firefox Bug 1378070).

Sicherheit

  • resource:// URLs lecken keine Informationen mehr (Firefox Bug 863246)
  • Daten-URLs werden jetzt als einzigartige, opake Ursprünge behandelt, anstatt den Ursprung des für die Navigation verantwortlichen Einstellungsobjekts zu erben (Firefox Bug 1324406).

Plugins

Keine Änderungen.

Sonstiges

Entfernungen von der Web-Plattform

HTML

  • <link rel="preload"> (siehe Inhalte mit rel="preload" vorladen) wurde in Firefox 57 aufgrund verschiedener Web-Kompatibilitätsprobleme deaktiviert (z.B. Firefox Bug 1405761). Eine verbesserte Version, die mit nicht Cache-fähigen Ressourcen funktioniert, soll in Firefox 58 veröffentlicht werden.

APIs

SVG

Keine Änderungen.

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

Hinweis: Ab Firefox 57 wurde die gesamte Unterstützung für XPCOM-basierte Add-ons entfernt. Alle Erweiterungen müssen in die neuen Browser-Erweiterungen (auch bekannt als WebExtensions) konvertiert werden oder sie funktionieren nicht mehr.

WebExtensions

Die folgenden APIs wurden hinzugefügt oder erweitert: