Firefox 70 für Entwickler
Dieser Artikel bietet Informationen über die Änderungen in Firefox 70, die Entwickler betreffen. 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 dessen 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 Schritt-Schaltflächen, um weiterzuschreiten und fortzufahren (Firefox-Bug 1574646).
- Der Debugger zeigt nun Quellen an, die bereits vom Motor verworfen wurden (normalerweise Skripte, die einmal beim Laden der Seite ausgeführt werden), sodass Sie korrekt Haltepunkte setzen können, um sie beim nächsten Ausführen zu debuggen (Firefox-Bug 1572280).
- Die Gruppierung im Scopes-Panel des Debuggers wurde vereinfacht, wobei zusätzliche Scopes konsolidiert wurden, die zuvor oberhalb der obersten Funktion angezeigt wurden (z.B. Blöcke, die durch
let
,with
oderif
/else
erstellt wurden) (Firefox-Bug 1448166). - Der Debugger behält nun die aktuell ausgewählten und erweiterten Variablen im Scopes-Panel, während Sie weitergehen (Firefox-Bug 1405402).
- Der Debugger behandelt das Übergehen von asynchronen Funktionen jetzt korrekt, was das Debuggen von asynchronen Funktionen erleichtert (Firefox-Bug 1570178).
- Beim Debuggen in Container-Sitzungen (nützlich zum Testen verschiedener Logins) werden die Quellen im Debugger nun korrekt angezeigt (Firefox-Bug 1375036).
debugger
-Anweisungen können jetzt im Debugger deaktiviert werden, indem ein Haltepunkt darauf gesetzt wird und die Haltepunkte auf "Nie hier anhalten" umgeschaltet werden (Firefox-Bug 925269).- WebExtensions-Entwickler können
browser.storage.local
über den Extension Storage-Eintrag unter dem Speicher-Tab inspizieren (Firefox-Bug 1585499).
Weitere Updates
- Ein Icon wird neben inaktiven CSS-Eigenschaften in der Regelansicht des Page Inspectors angezeigt, das Sie überfahren können, um Informationen darüber zu erhalten, warum es inaktiv ist (Firefox-Bug 1306054).
- In der CSS-Regelansicht informiert jetzt der Farbwähler bei Vordergrundfarben darüber, ob deren Kontrast zur Hintergrundfarbe die Anforderungen der Barrierefreiheit erfüllt (Firefox-Bug 1478156).
- Das Dropdown-Menü Auf Probleme prüfen des Barrierefreiheitsinspektors umfasst nun auch Tastaturbarrierefreiheitsprüfungen (Firefox-Bug 1564968).
HTML
-
Firefox kann dem Nutzer jetzt sicher generierte Passwörter in den folgenden Situationen vorschlagen:
- Ein
<input>
-Element hat den Attributwertautocomplete="new-password"
. - Der Benutzer öffnet das Kontextmenü auf einem beliebigen Passworteingabefeld, auch wenn es nicht für neue Passwörter vorgesehen ist.
- Ein
CSS
-
Opazitätswerte wie für
opacity
oderstop-opacity
können nun in Prozentangaben erfolgen (Firefox-Bug 1562086). -
grid-auto-columns
undgrid-auto-rows
akzeptieren nun mehrere Werte für die Spuren-Größ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 standardmäßig Unter- und Überstriche jetzt unterbrochen werden, wo sie sonst über ein Glyph kreuzen würden.
-
Die
display
-Eigenschaft akzeptiert nun zwei Schlüsselwortwerte, die den inneren und äußeren Anzeigetyp darstellen (Firefox-Bug 1038294, WebKit-Bug 1105868 und WebKit-Bug 1557825). -
Die Eigenschaft
font-size
akzeptiert jetzt den neuen Schlüsselwortwertxxx-large
(Firefox-Bug 1553545). -
Die
:visited
-Pseudoklasse passt aus logischen und Leistungsgründen nicht mehr zu<link>
-Elementen (Firefox-Bug 1572246; siehe Intent to ship: Make<link>
elements always unvisited und [selectors] :link and<link>
für weitere Begründungen). -
Wir unterstützen jetzt einen
auto
-Wert für diequotes
-Eigenschaft (Firefox-Bug 1421938). -
Stylesheets, die in
<style>
-Elementen enthalten sind, werden jetzt für die Wiederverwendung 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 nun<number>/<number>
oder eine einzelne<number>
als Wert (Firefox-Bug 1565562).
Entfernungen
- Wir haben den Support für 3-Wert-<position> (ausgenommen Hintergrund) entfernt (Firefox-Bug 1559276).
- Der
none
-Wert ist jetzt incounter()
/counters()
ungültig — eine Änderung, die die Level-3-Spezifikation an CSS 2.1 anpasst (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 längenlose Werte, wie
5
für500%
, werden nicht mehr unterstützt. - Längenwerte, die mit einem Punkt enden, wie
2.
oder34.px
, werden ebenfalls nicht mehr unterstützt.
JavaScript
- Numerische Trennzeichen werden jetzt unterstützt (Firefox-Bug 1435818).
- Die Methode
Intl.RelativeTimeFormat.formatToParts()
wurde implementiert (Firefox-Bug 1473229). - Die Methode
BigInt.prototype.toLocaleString()
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, wodurch
08n
und09n
ungültig werden, ähnlich wie der bestehende Fehler beim Verwenden von traditionellen Oktalzahlen wie07n
. Verwenden Sie immer eine führende Null mit dem Buchstaben "o" (Klein- oder Großbuchstabe) für Oktal-BigInt
-Zahlen (d.h.0o755n
anstelle von0755n
). Siehe Firefox-Bug 1568619. - Der Unicode-Erweiterungsschlüssel "nu" wird nun für den
Intl.RelativeTimeFormat
-Konstruktor unterstützt und die MethodeIntl.RelativeTimeFormat.resolvedOptions()
gibt jetzt ebenfallsnumberingSystem
zurück (Firefox-Bug 1521819).
APIs
DOM
- Die Methoden
back()
,forward()
undgo()
sind jetzt asynchron. Fügen Sie einen Listener zumpopstate
-Ereignis hinzu, um Benachrichtigungen zu erhalten, dass die Navigation abgeschlossen ist (Firefox-Bug 1563587). - Wir haben Unterstützung für
DOMMatrix
,DOMPoint
usw. in Web-Workern 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 Berechtigung für Benachrichtigungen kann nicht mehr von innerhalb eines Cross-Origin-
<iframe>
angefordert werden (Firefox-Bug 1560741).
Medien, Web Audio und WebRTC
-
Die Methode
RTCPeerConnection.restartIce()
wurde hinzugefügt. Dies ist eine der vier Änderungen, die zur Implementierung des neuen "perfect negotiation"-Mechanismus notwendig sind; der Rest wird in zukünftigen Firefox-Updates kommen (Firefox-Bug 1551316). -
Die Methode
RTCPeerConnection.setRemoteDescription()
kann jetzt ohne Parameter aufgerufen werden. Dies ist ein weiteres "perfect negotiation"-Update (Firefox-Bug 1568292). -
MediaTrackSupportedConstraints.groupId
wird jetzt unterstützt und gibttrue
zurück, da die EigenschaftMediaTrackConstraints.groupId
jetzt unterstützt wird (Firefox-Bug 1561254). -
Mehrere neue Web-Audio-API-Funktionen 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 Konstruktor
ChannelMergerNode()
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 Matrix-Objekt als Parameter akzeptiert, anstatt mehrere Parameter, die die einzelnen Komponenten der Matrix darstellen (Firefox-Bug 928150).
HTTP
- Die Standard-Referrer-Richtlinie für Tracking-Ressourcen von Drittanbietern ist jetzt
strict-origin-when-cross-origin
, wenn der Erweiterte Tracking-Schutz aktiviert ist (Firefox-Bug 1569996). - Die Größe des
Referer
-Request-Headers ist jetzt auf 4 KB (4.096 Bytes) begrenzt. Wenn ein übermäßig langer Referer das definierte Limit überschreitet, wird nur der Ursprungs-Teil gesendet (Firefox-Bug 1557346). - Der HTTP-Cache ist jetzt nach dem Ursprung des obersten Dokuments partitioniert (Firefox-Bug 1536058).
Entfernungen
- Die
X-Frame-Options
-Direktiveallow-from uri
wurde entfernt. Verwenden Sie stattdessen denContent-Security-Policy
-Header mit derframe-ancestors
-Direktive (Firefox-Bug 1301529).
WebDriver-Konformität (Marionette)
- Der
WebDriver:TakeScreenshot
-Befehl wurde aktualisiert, um Fission-kompatibel zu sein. Das bedeutet, dass Inhalte aus Cross-Origin-Iframes jetzt in einem Screenshot einer Seite enthalten sind. Oder wenn Sie es aus dem Chrome-Kontext verwenden, dass nun der Inhalt des aktiven Tabs im Browserfenster sichtbar ist (Firefox-Bug 1559592). WebDriver:TakeScreenshot
akzeptiert keine Liste von DOM-Elementen mehr, wie sie für die Hervorhebung verwendet wurden (Firefox-Bug 1575511).WebDriver:ExecuteScript
undWebDriver:ExecuteAsyncScript
setzenwindow.onunload
nicht mehr auf eine Art und 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 die Methode veranlasst, die Liste der Seiten zurückzugeben, die erscheinen, wenn der Benutzer einen neuen Tab öffnet (Firefox-Bug 1568617). -
Die zulässigen Werte der Untereigenschaft
webRTCIPHandlingPolicy
der Eigenschaftprivacy.network
wurden geändert (in Firefox-Bug 1452713), um das Verhalten in Chrome wie folgt anzupassen:disable_non_proxied_udp
verhinderte zuvor die Verwendung von WebRTC, wenn kein Proxy konfiguriert war. Jetzt wird immer ein Proxy verwendet, wenn einer konfiguriert ist, aber andernfalls ist eine nicht durch einen Proxy geleitete Verbindung erlaubt.proxy_only
kann verwendet werden, um das alte Verhalten bereitzustellen; dies hat zur Folge, dass ICE-Verhandlungen nur über TURN über TCP mit einem Proxy zulässig sind; keine anderen Verbindungen sind erlaubt.
Manifest-Änderungen
Entfernungen
Die folgenden Thema-Schlüssel-Eigenschaften, die Aliase für Schlüsselnamen in Chromium-basierten Browsern bereitstellten, wurden entfernt:
-
images
-EigenschaftheaderURL
, Themen sollten jetzttheme_frame
verwenden. -
colors
-Eigenschaften:accentcolor
, Themen sollten jetztframe
verwenden.textcolor
, Themen sollten jetzttab_background_text
verwenden.
Siehe auch
- Hacks-Veröffentlichungspost: Firefox 70 — a bountiful release for all
Ältere Versionen
- Firefox 69 für Entwickler
- Firefox 68 für Entwickler
- Firefox 67 für Entwickler
- Firefox 66 für Entwickler
- 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