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
Entwicklerwerkzeuge
- JavaScript-Getter können jetzt aus dem Auto-Completion-Popup in der Web-Konsole ausgeführt werden (Firefox-Bug 1499289).
- Die Window-Methoden
alert()
,prompt()
undconfirm()
funktionieren jetzt wieder im Modus für responsives Design, nachdem sie eine Zeit lang 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 Text-)Dateien, die aus
file:
-URLs geladen werden, werden jetzt ohne<meta charset="utf-8">
oder das UTF-8 BOM unterstützt. Das erleichtert die Arbeit an solchen Dateien lokal, 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, andernfalls würde der Erkennungsmechanismus, der für lokale Dateien verwendet wird, das inkrementelle Laden im Netzwerkfall beeinträchtigen (Firefox-Bug 1071816).
Entfernungen
- Das
x-moz-errormessage
-Attribut wurde aus dem<input>
Element entfernt (Firefox-Bug 1513890). Sie sollten stattdessen die Constraint Validation API verwenden, um benutzerdefinierte Validierungsnachrichten zu implementieren.
CSS
-
Scroll anchoring wurde in Firefox für Desktop implementiert (aber noch nicht für mobile Geräte), welches die
overflow-anchor
Eigenschaft beinhaltet (Firefox-Bug 1305957). -
Wir haben den fall-sensitiven Attributselektor Modifikator,
s
, implementiert (Firefox-Bug 1512386). -
Mehrere logische Eigenschaften Shorthands wurden hinzugefügt, zusammen mit den flussrelativen border-radius Eigenschaften:
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
overflow-inline
undoverflow-block
Media-Queries 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 Prozentangaben für Tabellenzellen und Spaltenbreiten (Firefox-Bug 957915). -
Die
min-content
undmax-content
Schlüsselwörter sind jetzt ohne Präfix verfügbar (Firefox-Bug 1322780). Diese können festgelegt werden auf:
SVG
Keine Ergänzungen.
Entfernungen
- Die Unterstützung für das
xml:base
Attribut wurde entfernt (Firefox-Bug 903372).
JavaScript
Keine Änderungen.
APIs
Neue APIs/Änderungen
- Automatisch abgespielte Audio wird bald standardmäßig blockiert, nachdem 66 die Freigabeversion von Firefox wird (Firefox-Bug 1487844, siehe Firefox-Bug 1535667 für Rollout-Details). Die Funktion wird schrittweise an die Benutzer ausgerollt, bis alle sie haben.
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 zur Kompatibilität von anderen Browsern unterstützt — wurden in Firefox 66 wieder eingeführt, nachdem sie in den Versionen 63 und 64 hinzugefügt, aber aufgrund von Kompatibilitätsproblemen wieder entfernt wurden. - Ab 66, wenn die Eigenschaft
KeyboardEvent.keyCode
deskeypress
Ereignisobjekts 0 ist, wird der Wert derselbe wieKeyboardEvent.charCode
sein. Umgekehrt, wenncharCode
0 ist, wird er derselbe wiekeyCode
sein. Dieses Spiegelverhalten entspricht anderen Browsern und löst die meisten damit verbundenen Kompatibilitätsprobleme, allerdings 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 How to determine keyCode for keypress events in der UI-Event-Spezifikation).
Medien, Web-Audio und WebRTC
- Der neue AV1-Video-Codec ist jetzt standardmäßig auf macOS und Windows (für Intel-Prozessoren) aktiviert. Die Linux-Unterstützung folgt in Firefox 67 (Firefox-Bug 1521181, Firefox-Bug 1452146 und Firefox-Bug 1534814).
- Die Methode
getDisplayMedia()
vonMediaDevices
, verfügbar alsnavigator.mediaDevices.getDisplayMedia()
, wurde hinzugefügt und mit der Spezifikation synchronisiert. Diese Methode erlaubt es, einen Bildschirm oder einen Teil davon alsMediaStream
zu erfassen, um diesen zu manipulieren oder zu teilen (Firefox-Bug 1321221). - Als Schritt in Richtung der endgültigen Abschaffung der Firefox-spezifischen Methode
getUserMedia()
zur Erfassung von Bildschirm- und Fensterinhalten behandelt der nicht-standardmäßigemediaSource
constraint nun die Wertescreen
undwindow
identisch. Beide präsentieren jetzt eine Liste von Bildschirmen und Fenstern, aus denen der Benutzer wählen kann (Firefox-Bug 1474376). RTCOutboundRtpStreamStats.qpSum
wurde hinzugefügt. Dies misst die Summe der Quantisierungsparameterwerte für jeden gesendeten oder empfangenen Frame auf der Videospur. Je höher diese Zahl, desto komprimierter ist der Stream wahrscheinlich (Firefox-Bug 1347070).- Als 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 richtigen Ursprung für den Inhalt gibt, z. B. wenn es von einem sandboxed<iframe>
oder von einerdata
URL, die der Benutzer in die Adressleiste eingegeben hat, aufgerufen wird. Weitere Details finden Sie im Abschnitt Sicherheit auf der MediaDevices.getUserMedia() Seite (Firefox-Bug 1371741).
Entfernungen
- Die alte WebRTC
PeerConnection.getStats()
Methode wurde entfernt, zusammen mit den zugehörigen Typen (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-Kontextes zu unterstützen, der entweder ein Fenster oder eine Registerkarte sein kann (Firefox-Bug 1504756). -
WebDriver:SwitchToFrame
löst jetzt einenno such element
Fehler aus, wenn das angegebene Element nicht Teil des aktuellen Browsing-Kontextes ist (Firefox-Bug 1517196). -
WebDriver:ExecuteScript
undWebDriver:ExecuteAsyncScript
unterstützen nicht mehr den nicht-Spezifikations-konformenscriptTimeout
Parameter. Verwenden Sie stattdessenWebDriver:SetTimeout
oder dietimeouts
Fähigkeit, um diesen Wert zu definieren (Firefox-Bug 1510929).- Zusätzlich werden jetzt unbestimmte Skript-Timeouts unterstützt (Firefox-Bug 1128997).
-
WebDriver:SetWindowRect
gibt den Fensterstatus in seiner Antwort nicht mehr zurück (Firefox-Bug 1517587).
Fehlerbehebungen
WebDriver:TakeScreenshot
verwendet jetzt die EigenschaftenElement.clientWidth
undElement.clientHeight
desDocument.documentElement
anstelle der Ansichtsfenster-Dimensionen (Firefox-Bug 1385706).- Verschiedene Korrekturen wurden durchgeführt, um die Befehle zur Fenstersteuerung 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üeinträge des Typs "bookmark"
type
erscheinen auch in der Lesezeichen-Sidebar (Strg
+B
) und im Bibliotheksfenster (Strg
+Shift
+B
) (Firefox-Bug 1419195).
Manifest-Änderungen
Keine Änderungen.
Siehe auch
- Hacks-Veröffentlichungspost: Firefox 66: The Sound of Silence
Ältere Versionen
- Firefox 65 for developers
- Firefox 64 for developers
- Firefox 63 for developers
- Firefox 62 for developers
- Firefox 61 for developers
- Firefox 60 for developers
- Firefox 59 for developers
- Firefox 58 for developers
- Firefox 57 for developers
- Firefox 56 for developers
- Firefox 55 for developers
- Firefox 54 for developers
- Firefox 53 for developers
- Firefox 52 for developers
- Firefox 51 for developers
- Firefox 50 for developers
- Firefox 49 for developers
- Firefox 48 for developers
- Firefox 47 for developers
- Firefox 46 for developers
- Firefox 45 for developers
- Firefox 44 for developers
- Firefox 43 for developers
- Firefox 42 for developers
- Firefox 41 for developers
- Firefox 40 for developers
- Firefox 39 for developers
- Firefox 38 for developers
- Firefox 37 for developers
- Firefox 36 for developers
- Firefox 35 for developers