Firefox 70 für Entwickler
Dieser Artikel bietet Informationen über die Änderungen in Firefox 70, die sich auf Entwickler auswirken werden. Firefox 70 wurde am 22. Oktober 2019 veröffentlicht.
Änderungen für Webentwickler
Entwicklertools
Debugger-Updates
- Im Debugger können Sie jetzt Haltepunkte für DOM-Mutation setzen, sodass die Ausführung pausiert, wenn ein Knoten oder seine Attribute geändert werden oder wenn ein Knoten aus dem DOM entfernt wird (Firefox-Bug 1576219).
- Der Debugger zeigt jetzt ein Overlay auf der Seite an, wenn er pausiert ist, mit grundlegenden Tasten, um fortzufahren oder zu schrittweise durch den Code zu gehen (Firefox-Bug 1574646).
- Der Debugger zeigt jetzt auch Quellen an, die bereits vom Engine verworfen wurden (normalerweise Skripte, die einmal während des Seitenladens ausgeführt werden), sodass Sie ordnungsgemäß Haltepunkte setzen können, um die nächste Ausführung zu debuggen (Firefox-Bug 1572280).
- Die Gruppierung des Scope-Panels im Debugger wurde vereinfacht, sodass zusätzliche Scopes, die vorher über der obersten Funktionsstufe angezeigt wurden (z.B. Blöcke, die durch
let
,with
oderif
/else
erstellt wurden), konsolidiert wurden (Firefox-Bug 1448166). - Der Debugger behält jetzt die derzeit ausgewählten und erweiterten Variablen im Scope-Panel während des Schrittdurchlaufs bei (Firefox-Bug 1405402).
- Der Debugger handhabt jetzt das Schrittdurchlaufen über asynchrone Funktionen korrekt, was das Debuggen von asynchronen Funktionen erleichtert (Firefox-Bug 1570178).
- Beim Debuggen in Container-Sitzungen (nützlich für das Testen unterschiedlicher Anmeldungen) werden die Quellen im Debugger jetzt korrekt angezeigt (Firefox-Bug 1375036).
debugger
-Anweisungen können im Debugger jetzt deaktiviert werden, indem ein Haltepunkt darauf gesetzt und der Haltepunkt auf "Hier nie pausieren" umgeschaltet wird (Firefox-Bug 925269).- WebExtensions-Entwickler können
browser.storage.local
im Abschnitt Erweiterungsspeicher unter dem Speichertabellenpunkt inspizieren (Firefox-Bug 1585499).
Weitere Updates
- Ein Symbol wird neben inaktiven CSS-Eigenschaften in der Regeln-Ansicht des Seiteninspektors angezeigt, über das Sie Informationen erhalten können, warum die Eigenschaft inaktiv ist (Firefox-Bug 1306054).
- In der CSS-Regeln-Ansicht zeigt der Farbwähler bei Vordergrundfarben jetzt an, ob der Kontrast mit der Hintergrundfarbe den Barrierefreiheitskriterien entspricht (Firefox-Bug 1478156).
- Das Barrierefreiheitsinspektor-Dropdown „Auf Probleme prüfen” enthält jetzt Überprüfungen der Tastaturzugänglichkeit (Firefox-Bug 1564968).
HTML
- Firefox kann jetzt dem Benutzer sicher generierte Passwörter vorschlagen in folgenden Situationen:
- Ein
<input>
-Element hat den Attributwertautocomplete="new-password"
. - Der Benutzer öffnet das Kontextmenü auf einem beliebigen Passwort-Eingabeelement, auch wenn es nicht für neue Passwörter gedacht ist.
- Ein
CSS
-
Opazitätswerte wie für
opacity
oderstop-opacity
können jetzt Prozentsätze sein (Firefox-Bug 1562086). -
grid-auto-columns
undgrid-auto-rows
akzeptieren jetzt mehrere Werte für die Spurengröße (Firefox-Bug 1339672). -
Eine Reihe von textbezogenen CSS-Eigenschaften wurden standardmäßig aktiviert (Firefox-Bug 1573631):
text-decoration-thickness
.text-underline-offset
.text-decoration-skip-ink
. Der Standardwert istauto
, was bedeutet, dass Unter- und Überstriche nun standardmäßig unterbrochen werden, wo sie sonst ein Glyph überqueren würden.
-
Die
display
-Eigenschaft akzeptiert nun zwei Schlüsselwortwerte, die den inneren und äußeren Anzeigetyp repräsentieren (Firefox-Bug 1038294, WebKit-Bug 1105868 und WebKit-Bug 1557825). -
Die
font-size
-Eigenschaft akzeptiert nun den neuen Schlüsselwortwertxxx-large
. (Firefox-Bug 1553545). -
Die
:visited
-Pseudoklasse stimmt aus logischen und Performance-Gründen nicht mehr mit<link>
-Elementen überein (Firefox-Bug 1572246; siehe Intent to ship: Make<link>
elements always unvisited und [selectors] :link and<link>
für weitere Gründe). -
Wir unterstützen jetzt einen
auto
-Wert für diequotes
-Eigenschaft (Firefox-Bug 1421938). -
Stylesheets in
<style>
-Elementen werden jetzt zwischengespeichert, um die Leistung zu verbessern (Firefox-Bug 1480146). Beachten Sie, dass dies derzeit keine Stylesheets umfasst, die@import
-Regeln enthalten. -
Der
<ratio>
-Typ akzeptiert jetzt<number>/<number>
oder eine einzelne<number>
als Wert. (Firefox-Bug 1565562).
Entfernungen
- Wir haben die Unterstützung für 3-Werte-<position> (außer Hintergrund) eingestellt (Firefox-Bug 1559276).
- Der Wert
none
ist jetzt ungültig incounter()
/counters()
— eine Änderung, die die Level 3-Spezifikation mit CSS 2.1 in Einklang bringt (Firefox-Bug 1576821).
SVG
- Ausschneide-, Kopier- und Einfügeereignisse werden jetzt an SVG-Grafikelemente gesendet (Firefox-Bug 1569474).
MathML
- Das veraltete
mode
-Attribut auf<math>
-Elementen wurde entfernt (Firefox-Bug 1573438). - Nicht-nullwertige unitles Länge Werte, wie
5
für500%
, werden nicht mehr unterstützt. - Längenangaben, die mit einem Punkt enden, wie
2.
oder34.px
, werden jetzt auch nicht mehr unterstützt.
JavaScript
- Numerische Trenner werden jetzt unterstützt (Firefox-Bug 1435818).
- Die
Intl.RelativeTimeFormat.formatToParts()
-Methode wurde implementiert (Firefox-Bug 1473229). - Die
BigInt.prototype.toLocaleString()
-Methode wurde aktualisiert, um mit den Parameternlocales
undoptions
gemäß der ECMAScript 402-Intl-API zu arbeiten. Außerdem akzeptierenIntl.NumberFormat.format()
undIntl.NumberFormat.formatToParts()
jetztBigInt
-Werte (Firefox-Bug 1543677). - Gemäß der neuesten ECMAScript-Spezifikation ist eine führende Null für BigInt-Literale jetzt nie erlaubt, was
08n
und09n
ähnlich den bestehenden Fehlern bei der Verwendung von Legacy-Oktalzahlen wie07n
ungültig macht. Verwenden Sie immer eine führende Null mit dem Buchstaben „o“ (klein oder groß) für oktopaleBigInt
-Zahlen (d.h.0o755n
statt0755n
). Siehe Firefox-Bug 1568619. - Der Unicode-Erweiterungsschlüssel "nu" wird jetzt für den
Intl.RelativeTimeFormat
-Konstruktor unterstützt und die MethodeIntl.RelativeTimeFormat.resolvedOptions()
gibt jetzt auchnumberingSystem
zurück (Firefox-Bug 1521819).
APIs
DOM
- Die Methoden
back()
,forward()
undgo()
sind jetzt asynchron. Fügen Sie einen Listener für daspopstate
-Ereignis hinzu, um eine Benachrichtigung zu erhalten, dass die Navigation abgeschlossen ist (Firefox-Bug 1563587). - Wir haben die Unterstützung für
DOMMatrix
,DOMPoint
usw. in Web-Worker hinzugefügt (Firefox-Bug 1420580). - Einige weitere Mitglieder wurden von
HTMLDocument
zuDocument
verschoben, einschließlichDocument.all
,Document.clear
,Document.captureEvents
undDocument.clear
(Firefox-Bug 1558570, Firefox-Bug 1558571). - Die Benachrichtigung-Erlaubnis kann nicht mehr innerhalb eines cross-origin
<iframe>
angefordert werden (Firefox-Bug 1560741).
Media, Web Audio, und WebRTC
- Die
RTCPeerConnection.restartIce()
-Methode wurde hinzugefügt. Dies ist eine der vier Änderungen, die erforderlich sind, um den neuen „perfekten Verhandlungs“-Mechanismus zu implementieren; der Rest wird in zukünftigen Firefox-Updates kommen (Firefox-Bug 1551316). - Die
RTCPeerConnection.setRemoteDescription()
-Methode kann jetzt ohne Parameter aufgerufen werden. Dies ist ein weiteres „perfektes Verhandlungs“-Update (Firefox-Bug 1568292). MediaTrackSupportedConstraints.groupId
wird jetzt unterstützt und gibttrue
zurück, da dieMediaTrackConstraints.groupId
-Eigenschaft jetzt unterstützt wird (Firefox-Bug 1561254).- Mehrere neue Web-Audio-API-Features wurden implementiert/aktualisiert:
AudioContext.getOutputTimestamp()
implementiert (Firefox-Bug 1324545).AudioContext.baseLatency
undAudioContext.outputLatency
implementiert (Firefox-Bug 1324552).MediaElementAudioSourceNode.mediaElement
undMediaStreamAudioSourceNode.mediaStream
implementiert (Firefox-Bug 1350973).- Der
ChannelMergerNode()
-Konstruktor wirft jetzt Fehler, wenn Sie versuchen,channelCount
undchannelCountMode
auf ungültige Werte zu setzen (Firefox-Bug 1456263).
Canvas und WebGL
- Wir unterstützen jetzt
CanvasRenderingContext2D.getTransform()
und die neuere Variante vonCanvasRenderingContext2D.setTransform()
, die ein Matrixobjekt als Parameter anstelle von mehreren Parametern akzeptiert, die die einzelnen Komponenten der Matrix darstellen (Firefox-Bug 928150).
HTTP
- Die standardmäßige Referrer-Richtlinie für Drittanbieter-Tracking-Ressourcen ist jetzt
strict-origin-when-cross-origin
, wenn Verbesserter Tracking-Schutz aktiviert ist (Firefox-Bug 1569996). - Die Größe des
Referer
-Anforderungs-Headers ist jetzt auf 4 KB (4.096 Bytes) begrenzt. Wenn ein zu langer Referrer die definierte Grenze überschreitet, wird nur der Ursprungsteil gesendet (Firefox-Bug 1557346). - Der HTTP-Cache wird jetzt pro Ursprung des obersten Dokuments partitioniert (Firefox-Bug 1536058).
Entfernungen
- Die
X-Frame-Options
allow-from uri
-Direktive wurde entfernt. Verwenden Sie denContent-Security-Policy
-Header mit derframe-ancestors
-Direktive stattdessen (Firefox-Bug 1301529).
WebDriver-Konformität (Marionette)
- Der Befehl
WebDriver:TakeScreenshot
wurde aktualisiert, um Fission-kompatibel zu sein. Das bedeutet, dass Inhalte von cross-origin-Iframes jetzt in einem Screenshot einer Seite enthalten sind. Oder bei der Verwendung aus dem Chrome-Kontext, dass der Inhalt des aktiven Tabs jetzt im Browserfenster sichtbar ist (Firefox-Bug 1559592). WebDriver:TakeScreenshot
akzeptiert keine Liste von DOM-Elementen mehr für das Hervorheben (Firefox-Bug 1575511).WebDriver:ExecuteScript
undWebDriver:ExecuteAsyncScript
setzenwindow.onunload
nicht mehr auf eine Weise, die im Web sichtbar ist (Firefox-Bug 1568991).
Änderungen für Add-On-Entwickler
API-Änderungen
- Ein neuer Parameter wurde zur Methode
topSites.get()
hinzugefügt, der dazu führt, dass die Methode die Liste der Seiten zurückgibt, die angezeigt werden, wenn der Benutzer einen neuen Tab öffnet (Firefox-Bug 1568617). - Die zulässigen Werte der Untereigenschaft
webRTCIPHandlingPolicy
derprivacy.network
Eigenschaft wurden angepasst (in Firefox-Bug 1452713), um dem Verhalten zu entsprechen, das in Chrome zu sehen ist, wie folgt:disable_non_proxied_udp
verhinderte bisher die Verwendung von WebRTC, wenn kein Proxy konfiguriert war. Jetzt wird immer ein Proxy verwendet, wenn einer konfiguriert ist, aber andernfalls ist eine nicht-Proxy-Verbindung erlaubt.proxy_only
kann verwendet werden, um das alte Verhalten bereitzustellen; dies führt dazu, dass nur ICE-Verhandlungen über TURN über TCP unter Verwendung eines Proxys erlaubt sind; keine anderen Verbindungen sind erlaubt.
Manifeständerungen
Entfernungen
Die folgenden Theme-Schlüssel-Eigenschaften, die Aliase für Theme-Schlüssel in Chromium-basierten Browsern bereitstellten, wurden entfernt:
images
-EigenschaftheaderURL
, Themes sollten jetzttheme_frame
verwenden.colors
-Eigenschaften:accentcolor
, Themes sollten jetztframe
verwenden.textcolor
, Themes sollten jetzttab_background_text
verwenden.
Siehe auch
- Hacks Veröffentlichungsbeitrag: Firefox 70 — a bountiful release for all