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 über die Ä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 Namen Quantum erhalten, nach dem Firefox Quantum Ingenieurprojekt, das darauf abzielt, Firefox von Grund auf neu zu entwickeln. Dies bringt große Verbesserungen in Bezug auf Leistung, Stabilität und visuelle Gestaltung mit sich. Dies ist die erste Version von Firefox, die einige dieser Verbesserungen ausliefert, daher wollten wir diesen Anlass kennzeichnen.

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

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

Änderungen für Webentwickler

Entwicklerwerkzeuge

Keine Änderungen.

HTML

CSS

Quantum CSS-Hinweise

Folgende Fehler wurden in Quantum behoben:

  • Radial-Gradient-Werte wie radial-gradient(circle gold,red) funktionierten im alten Gecko-Stil-System, obwohl sie es nicht sollten, aufgrund des fehlenden Kommas zwischen circle und gold (Firefox Bug 1383323).
  • Wenn Sie ein außerhalb des Bildschirms befindliches Element auf den Bildschirm animieren, aber eine Verzögerung angeben, führt Gecko auf einigen Plattformen, z.B. Windows, keine Neuzeichnung durch (Firefox Bug 1383239).
  • In Gecko können <details> Elemente nicht standardmäßig mit dem open Attribut geöffnet werden, wenn sie eine aktive animation haben (Firefox Bug 1382124).
  • In Gecko funktionieren transitions nicht, wenn sie von einem text-shadow mit einer angegebenen Farbe zu einem text-shadow ohne angegebene Farbe wechseln (Firefox Bug 726550).
  • In Gecko kann das Abbrechen einer füllenden Animation (z.B. mit animation-fill-mode: forwards gesetzt) einen Übergang auf demselben Element auslösen, allerdings nur einmal (siehe Firefox Bug 1192592 und diese Testfälle für weitere Informationen). Im Allgemeinen sollten deklarative Animationen keine Übergänge auslösen.
  • Animationen, die em-Einheiten verwenden, sind in Gecko nicht von Änderungen der font-size am übergeordneten Element der Animation betroffen, obwohl sie es sein sollten (Firefox Bug 1254424).
  • Gecko behandelt auch die Vererbung von font-size anders als Quantum CSS, was bedeutet, dass in einigen Spracheinstellungen vererbte Schriftgrößen kleiner als erwartet ausfallen (siehe Firefox Bug 1391341).
  • Gecko verwendet denselben Mechanismus, der beim Parsen eines url-token verwendet wird, beim Parsen der domain() oder url-prefix() URL-Matching-Funktionen für eine @-moz-document Regel. Quantum CSS verwendet 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 Systemschrift als Wert eines 2D-Kontextes einer Leinwand font einstellen (z.B. menu), schlägt das Abrufen des Schriftwerts fehl, um die erwartete Schrift zurückzugeben (es wird nichts zurückgegeben). Dies wurde in Quantum behoben. (Firefox Bug 1374885).
  • In Gecko wird eine abgetrennte Unterstruktur (z.B. ein <div>, das mit createElement() erstellt wurde und noch nicht in den DOM eingefügt wurde) als Block-Level-Element gesetzt. In Quantum CSS wird dies als inline gesetzt, gemäß der Spezifikation (Firefox Bug 1374994).
  • In Gecko werden calc() Ausdrücke abgelehnt – was dazu führt, dass der Wert ungültig ist –, 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, calc() is supported everywhere that the spec explains it should be (Firefox Bug 1350857). In Gecko ist dies nicht der Fall.
  • Gecko hat einen Fehler, bei dem die ::before und ::after Pseudoelemente immer noch 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-Fehler bedeutet, dass die Eigenschaft background-position nicht zwischen zwei Werten mit unterschiedlichen Zahlen von <position> Werten übergegangen werden kann, zum Beispiel 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 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. Siehe Verständnis der Nachrichten Größenlimits für weitere Informationen (Firefox Bug 979417).

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

  • Die Methode RTCDataChannel.send() kann jetzt eine TypeError Ausnahme auslösen, wenn die Größe der Nachricht, die Sie senden möchten, nicht mit dem empfangenden User-Agent kompatibel ist (dies wird als Teil von Firefox Bug 979417 implementiert).

  • Die MediaStream Recording API wurde aktualisiert, sodass error Ereignisse, die zur Meldung von Problemen gesendet werden, die beim Aufnehmen auftreten, jetzt vom Typ MediaRecorderErrorEvent sind, anstatt generische Ereignisse zu sein.

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

  • Die Web Audio API unterstützt jetzt ordnungsgemäß Multi-Channel-Ausgabe (Firefox Bug 1378070).

Sicherheit

  • resource:// URLs lecken keine Informationen mehr (Firefox Bug 863246)
  • Daten-URLs werden jetzt als eindeutige 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 Preloading content with rel="preload") wurde in Firefox 57 deaktiviert, aufgrund verschiedener Web-Kompatibilitätsprobleme (z.B. Firefox Bug 1405761). Eine verbesserte Version, die für nicht-cachebare Ressourcen funktioniert, wird voraussichtlich in Firefox 58 veröffentlicht.

APIs

SVG

Keine Änderungen.

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

Hinweis: Ab Firefox 57 wurde jegliche Unterstützung für XPCOM-basierte Add-ons entfernt. Alle Erweiterungen müssen in die neuen browser extensions (auch bekannt als WebExtensions) umgewandelt werden, ansonsten funktionieren sie nicht.

WebExtensions

Die folgenden APIs wurden hinzugefügt oder erweitert: