Firefox 66 für Entwickler
Dieser Artikel bietet Informationen zu den Ä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ändigungs-Popup in der Webkonsole ausgeführt werden (Firefox Bug 1499289).
- Die Window-Methoden
alert()
,prompt()
undconfirm()
funktionieren wieder im Responsive Design Mode, nachdem sie für eine Weile nicht funktionsfähig waren (Firefox Bug 1273997). - Sie können die Konsolenausgabe in die Zwischenablage kopieren, indem Sie mit der rechten Maustaste klicken und "Export visible messages to clipboard" im Kontextmenü auswählen.
HTML
- UTF-8-codierte HTML-Dateien (und einfache Textdateien), die von
file:
URLs geladen werden, werden nun ohne<meta charset="utf-8">
oder den UTF-8 BOM unterstützt, was es einfacher macht, an solchen Dateien lokal zu arbeiten, bevor sie auf einen Server hochgeladen werden. Sie müssen jedoch sicherstellen, dass der Servercharset=utf-8
imContent-Type
HTTP-Header für solche Dateien sendet, da ansonsten der Erkennungsmechanismus, der für lokale Dateien verwendet wird, das inkrementelle Laden im Netzwerkfall brechen würde (Firefox Bug 1071816).
Entfernungen
- Das
x-moz-errormessage
Attribut wurde vom<input>
Element entfernt (Firefox Bug 1513890). Stattdessen sollten Sie die Constraint Validation API verwenden, um benutzerdefinierte Validierungsnachrichten zu implementieren.
CSS
-
Scroll Anchoring wurde in Firefox Desktop implementiert (aber noch nicht mobil), was die
overflow-anchor
-Eigenschaft einschließt (Firefox Bug 1305957). -
Wir haben den case-sensitiven Attributselektor-Modifikator
s
implementiert (Firefox Bug 1512386). -
Mehrere logische Eigenschafts- Kurzbefehle wurden eingeführt, zusammen mit den flussrelativen Eigenschaften für den Randradius:
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 nun animierbar gemäß den in ihren Spezifikationen festgelegten Regeln (Firefox Bug 1348519). -
Wir unterstützen nun
calc()
mit Prozentsätzen für Tabellenspalten und Spaltenbreiten (Firefox Bug 957915). -
Die Schlüsselwörter
min-content
undmax-content
sind nun unverändert verfügbar (Firefox Bug 1322780). Diese können festgelegt 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
- Automatisch abspielbares Audio wird standardmäßig blockiert, kurz nachdem 66 zur Release-Version von Firefox wird (Firefox Bug 1487844, siehe Firefox Bug 1535667 für Rollout-Details). Die Funktion wird schrittweise an Benutzer verteilt, bis jeder sie hat.
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, aber dann erneut entfernt wurden aufgrund von Kompatibilitätsproblemen. - Ab 66, wenn die Eigenschaft
KeyboardEvent.keyCode
deskeypress
-Ereignisobjekts 0 ist, wird der Wert derselbe sein wieKeyboardEvent.charCode
. Im Gegensatz dazu, wenncharCode
0 ist, wird es derselbe sein wiekeyCode
. Dieses Spiegelverhalten stimmt mit anderen Browsern überein und wird voraussichtlich die meisten assoziierten Kompatibilitätsprobleme lösen, dennoch könnte User-Agent-Sniffing in einigen JavaScript-Bibliotheken weitere Probleme verursachen. Beachten Sie, dass wir in Bezug auf die Spezifikation vom Split-Modell zum Konflationsmodell gewechselt haben (siehe Wie man keyCode für keypress-Ereignisse bestimmt 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. Linux-Unterstützung kommt in Firefox 67 (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 ermöglicht es Ihnen, einen Bildschirm oder einen Teil eines Bildschirms alsMediaStream
zur Manipulation oder zum Teilen zu erfassen (Firefox Bug 1321221). - Als Schritt in Richtung zur zukünftigen Einstellung der Firefox-spezifischen
getUserMedia()
-basierten Methode zur Erfassung von Bildschirminhalten wird die nicht standardmäßigemediaSource
Einschränkung jetzt die Wertescreen
undwindow
gleich behandeln. Beide präsentieren jetzt eine Liste von Bildschirmen und Fenstern, aus der der Benutzer wählen kann (Firefox Bug 1474376). RTCOutboundRtpStreamStats.qpSum
wurde hinzugefügt. Dies misst die Summe der Quantisierungsparameterwerte für jedes gesendete oder empfangene Frame auf dem Videotrack. Je höher diese Zahl, desto mehr wird der Stream wahrscheinlich komprimiert (Firefox Bug 1347070).- Als Schritt auf dem Weg zur 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 etwa bei Aufruf aus einem Sandkasten-<iframe>
oder aus einerdata
-URL, die vom Benutzer in die Adressleiste eingegeben wurde. Für weitere Details siehe den Sicherheits- Abschnitt 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).
Netzwerk
- 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 Fenster oder 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 nicht mehr den nicht spezifikationskonformenscriptTimeout
-Parameter. Verwenden Sie stattdessenWebDriver:SetTimeout
oder dietimeouts
-Fähigkeit, um diesen Wert zu definieren (Firefox Bug 1510929).- Darüber hinaus werden jetzt unbegrenzte Skript-Timeouts unterstützt (Firefox Bug 1128997).
-
WebDriver:SetWindowRect
gibt den Fensterstatus nicht mehr in seiner Antwort zurück (Firefox Bug 1517587).
Fehlerbehebungen
WebDriver:TakeScreenshot
verwendet jetzt die EigenschaftenElement.clientWidth
undElement.clientHeight
desDocument.documentElement
anstelle der Ansichtsfensterabmessungen (Firefox Bug 1385706).- Verschiedene Fehlerbehebungen wurden vorgenommen, um die Fenster-Manipulationsbefehle plattformübergreifend zuverlässiger zu machen (Firefox Bug 1522408, Firefox Bug 1478358, Firefox Bug 1489955).
Änderungen für Add-on-Entwickler
>API-Änderungen
Menüs
- Erweiterungsmenüelemente vom
type
"bookmark" erscheinen auch in der Lesezeichenseitenleiste (Ctrl
+B
) und im Bibliotheksfenster (Ctrl
+Shift
+B
) (Firefox Bug 1419195).
Manifeständerungen
Keine Änderungen.
Siehe auch
- Hacks-Release-Post: Firefox 66: The Sound of Silence