Firefox 66 für Entwickler
Dieser Artikel bietet Informationen über die Änderungen in Firefox 66, die Entwickler betreffen werden. Firefox 66 wurde am 19. März 2019 veröffentlicht.
Änderungen für Webentwickler
Entwicklertools
- JavaScript-Getter können jetzt aus dem Auto-Vervollständigungspopup in der Webkonsole ausgeführt werden (Firefox-Bug 1499289).
- Die Fenster-Methoden
alert()
,prompt()
undconfirm()
funktionieren jetzt wieder im Modus für responsives Design, nachdem sie eine Zeitlang nicht funktionierten (Firefox-Bug 1273997). - Sie können die Ausgabe der Konsole in die Zwischenablage kopieren, indem Sie mit der rechten Maustaste klicken und im Kontextmenü "Export visible messages to clipboard" auswählen.
HTML
- UTF-8-kodierte HTML- (und Klartext-) Dateien, die von
file:
-URLs geladen werden, werden jetzt ohne<meta charset="utf-8">
oder das UTF-8-BOM unterstützt. Dies erleichtert das Arbeiten an solchen Dateien lokal vor der Veröffentlichung auf einem Server. Sie müssen jedoch sicherstellen, dass der Servercharset=utf-8
imContent-Type
HTTP-Header für solche Dateien sendet, da der Mechanismus zur Erkennung lokaler Dateien das inkrementelle Laden im Netzwerkfall stören würde (Firefox-Bug 1071816).
Entfernungen
- Das
x-moz-errormessage
-Attribut wurde vom<input>
-Element entfernt (Firefox-Bug 1513890). Sie sollten die Einschränkungsvalidierung API verwenden, um benutzerdefinierte Validierungsnachrichten zu implementieren.
CSS
-
Scroll Anchoring wurde in Firefox für den Desktop implementiert (aber noch nicht für mobile Geräte), einschließlich der
overflow-anchor
-Eigenschaft (Firefox-Bug 1305957). -
Wir haben den case-sensitiven Attributselektor Modifier,
s
, implementiert (Firefox-Bug 1512386). -
Mehrere Abkürzungen für logische Eigenschaften sowie die flussrelativen Rahmenradius-Eigenschaften wurden eingeführt:
padding-block
undpadding-inline
(Firefox-Bug 1519847).margin-block
undmargin-inline
(Firefox-Bug 1519944).inset
,inset-block
undinset-inline
(Firefox-Bug 1520229).border-block-color
,border-block-style
,border-block-width
,border-inline-color
,border-inline-style
undborder-inline-width
(Firefox-Bug 1520236).border-block
undborder-inline
(Firefox-Bug 1520396).border-start-start-radius
,border-start-end-radius
,border-end-start-radius
undborder-end-end-radius
(Firefox-Bug 1520684).
-
Wir haben die Medienabfragen
overflow-inline
undoverflow-block
implementiert (Firefox-Bug 1422235). -
grid-template-columns
undgrid-template-rows
sind jetzt animierbar, gemäß den in ihren Spezifikationen festgelegten Regeln (Firefox-Bug 1348519). -
Wir unterstützen jetzt
calc()
mit Prozentwerten für Tabellenspalten- und Zellenbreiten (Firefox-Bug 957915). -
Die Schlüsselwörter
min-content
undmax-content
sind nun unverändert verfügbar (Firefox-Bug 1322780). Diese können eingestellt werden auf:
SVG
Keine Ergänzungen.
Entfernungen
- Wir haben die Unterstützung für das
xml:base
-Attribut entfernt (Firefox-Bug 903372).
JavaScript
Keine Änderungen.
APIs
Neue APIs/Änderungen
- Autoplay von Audio wird standardmäßig blockiert, sobald 66 zur Release-Version von Firefox wird (Firefox-Bug 1487844, siehe Firefox-Bug 1535667 für Rollout-Details). Die Funktion wird schrittweise an Benutzer ausgeliefert, bis sie alle erreicht.
DOM
- Die Methode
HTMLSlotElement.assignedElements()
wurde implementiert (Firefox-Bug 1425685). - Die Methode
TextEncoder.encodeInto()
wurde implementiert (Firefox-Bug 1514664).
DOM-Ereignisse
- Die Eigenschaft
InputEvent.inputType
wurde implementiert (Firefox-Bug 1447239). - Die Eigenschaften
Window.event
undEvent.returnValue
— ursprünglich proprietäre IE-Funktionen, dann auch aus Kompatibilitätsgründen in anderen Browsern unterstützt — wurden in Firefox 66 wieder eingeführt, nachdem sie in den Versionen 63 bzw. 64 hinzugefügt, dann jedoch aufgrund von Kompatibilitätsproblemen wieder entfernt wurden. - Ab Version 66 wird, wenn die Eigenschaft
KeyboardEvent.keyCode
deskeypress
Ereignisobjekts 0 ist, der Wert derselbe sein wieKeyboardEvent.charCode
. Umgekehrt, wenncharCode
0 ist, entspricht erkeyCode
. Dieses Spiegelungsverhalten entspricht anderen Browsern und löst die meisten zugehörigen Kompatibilitätsprobleme. Einige JavaScript-Bibliotheken könnten durch User-Agent-Sniffing jedoch weitere Probleme verursachen. Beachten Sie, dass wir in Bezug auf die Spezifikation vom Split-Modell zum Konflationsmodell gewechselt sind (siehe How to determine keyCode for keypress events in der UI-Event-Spezifikation).
Medien, Web Audio und WebRTC
- Der neue AV1-Videocodec ist jetzt standardmäßig auf macOS und Windows (für Intel-Prozessoren) aktiviert. Die Unterstützung für Linux wird in Firefox 67 kommen (Firefox-Bug 1521181, Firefox-Bug 1452146, und Firefox-Bug 1534814).
- Die
MediaDevices
MethodegetDisplayMedia()
, verfügbar alsnavigator.mediaDevices.getDisplayMedia()
, wurde hinzugefügt und mit der Spezifikation synchronisiert. Diese Methode erlaubt es Ihnen, einen Bildschirm oder einen Teil eines Bildschirms alsMediaStream
zu erfassen, um ihn zu manipulieren oder zu teilen (Firefox-Bug 1321221). - Als Schritt zur endgültigen Abschaffung der Firefox-spezifischen Methode
getUserMedia()
zur Erfassung von Bildschirm- und Fensterinhalten behandelt die nicht standardmäßigemediaSource
-Einschränkung jetzt die Wertescreen
undwindow
identisch. Beide stellen dem Benutzer nun eine Liste von Bildschirmen und Fenstern zur Auswahl zur Verfügung (Firefox-Bug 1474376). qpSum
wurde zu lokalen ausgehendenRTCRTPStreamStats
-Objekten hinzugefügt. Dies misst die Summe der Quantisierungsparameterwerte für jeden gesendeten oder empfangenen Frame auf dem Videostrom. Je höher dieser Wert, desto stärker ist der Strom wahrscheinlich komprimiert (Firefox-Bug 1347070).- In einem Schritt in Richtung der Implementierung der Unterstützung für Feature Policy in einem zukünftigen Firefox-Update kann
getUserMedia()
nicht mehr in Situationen verwendet werden, in denen es keinen ordnungsgemäßen Ursprung für den Inhalt gibt, wie z.B. bei einem Aufruf aus einem sandboxed<iframe>
oder aus einemdata
-URL, der vom Benutzer in die Adressleiste eingegeben wurde. Für weitere Details siehe den Sicherheitsabschnitt auf der MediaDevices.getUserMedia() Seite (Firefox-Bug 1371741).
Entfernungen
- Die veraltete WebRTC-
PeerConnection.getStats()
-Methode wurde zusammen mit den zugehörigen Typen entfernt (Firefox-Bug 1328194).
Netzwerke
- Der Standardwert des
Accept
-Headers wurde auf*/*
geändert (Firefox-Bug 1417463).
Sicherheit
Keine Änderungen.
Plugins
Keine Änderungen.
WebDriver-Konformität (Marionette)
API-Änderungen
-
WebDriver:NewWindow
wurde hinzugefügt, um das Öffnen eines neuen Browsing-Kontexts zu unterstützen, der entweder ein Fenster oder ein Tab sein kann (Firefox-Bug 1504756). -
WebDriver:SwitchToFrame
löst jetzt einenno such element
Fehler aus, wenn das angegebene Element nicht Teil des aktuellen Browsing-Kontexts ist (Firefox-Bug 1517196). -
WebDriver:ExecuteScript
undWebDriver:ExecuteAsyncScript
unterstützen den nicht spezifikationskonformen ParameterscriptTimeout
nicht mehr. Verwenden Sie stattdessenWebDriver:SetTimeout
oder dietimeouts
Fähigkeit, um diesen Wert zu definieren (Firefox-Bug 1510929).- Außerdem werden jetzt unbestimmte Skript-Timeouts unterstützt (Firefox-Bug 1128997).
-
WebDriver:SetWindowRect
gibt den Fensterzustand nicht mehr in seiner Antwort zurück (Firefox-Bug 1517587).
Fehlerbehebungen
WebDriver:TakeScreenshot
verwendet jetzt die EigenschaftenElement.clientWidth
undElement.clientHeight
desDocument.documentElement
anstelle der Viewport-Abmessungen (Firefox-Bug 1385706).- Verschiedene Korrekturen wurden vorgenommen, um die Zuverlässigkeit von Fenstersteuerbefehlen plattformübergreifend zu verbessern (Firefox-Bug 1522408, Firefox-Bug 1478358, Firefox-Bug 1489955).
Änderungen für Add-on-Entwickler
API-Änderungen
Menüs
- Erweiterungsmenüelemente vom "Lesezeichen"
type
erscheinen auch in der Lesezeichen-Seitenleiste (Ctrl
+B
) und im Bibliotheksfenster (Ctrl
+Shift
+B
) (Firefox-Bug 1419195).
Manifest-Änderungen
Keine Änderungen.
Siehe auch
- Hacks Release-Beitrag: Firefox 66: The Sound of Silence
Ältere Versionen
- Firefox 65 für Entwickler
- Firefox 64 für Entwickler
- Firefox 63 für Entwickler
- Firefox 62 für Entwickler
- Firefox 61 für Entwickler
- Firefox 60 für Entwickler
- Firefox 59 für Entwickler
- Firefox 58 für Entwickler
- Firefox 57 für Entwickler
- Firefox 56 für Entwickler
- Firefox 55 für Entwickler
- Firefox 54 für Entwickler
- Firefox 53 für Entwickler
- Firefox 52 für Entwickler
- Firefox 51 für Entwickler
- Firefox 50 für Entwickler
- Firefox 49 für Entwickler
- Firefox 48 für Entwickler
- Firefox 47 für Entwickler
- Firefox 46 für Entwickler
- Firefox 45 für Entwickler
- Firefox 44 für Entwickler
- Firefox 43 für Entwickler
- Firefox 42 für Entwickler
- Firefox 41 für Entwickler
- Firefox 40 für Entwickler
- Firefox 39 für Entwickler
- Firefox 38 für Entwickler
- Firefox 37 für Entwickler
- Firefox 36 für Entwickler
- Firefox 35 für Entwickler