Firefox 70 für Entwickler
Dieser Artikel bietet Informationen zu den Änderungen in Firefox 70, die Entwickler betreffen werden. Firefox 70 wurde am 22. Oktober 2019 veröffentlicht.
Änderungen für Web-Entwickler
Entwicklerwerkzeuge
Debugger-Updates
- Im Debugger können Sie jetzt Breakpoints für DOM-Mutationen setzen, sodass die Ausführung stoppt, 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, die es Ihnen ermöglichen, vorwärtszuschreiten und die Ausführung fortzusetzen (Firefox-Bug 1574646).
- Der Debugger zeigt jetzt Quellen an, die bereits vom Engine verworfen wurden (normalerweise Skripte, die einmal während des Seitenladens ausgeführt werden), sodass Sie ordnungsgemäß Breakpoints setzen können, um zu debuggen, wenn diese beim nächsten Mal ausgeführt werden (Firefox-Bug 1572280).
- Die Gruppierung des Scopes-Panels im Debugger wurde vereinfacht und zusätzliche Scopes zusammengefasst, die zuvor oberhalb der Funktion auf oberster Ebene angezeigt wurden (z.B. Blöcke, die durch
let
,with
oderif
/else
erstellt wurden) (Firefox-Bug 1448166). - Der Debugger behält jetzt die aktuell ausgewählten und erweiterten Variablen im Scopes-Panel während des Schrittschaltens bei (Firefox-Bug 1405402).
- Der Debugger behandelt jetzt das Schrittschalten über asynchrone Funktionen korrekt, was das Debuggen von asynchronen Funktionen erleichtert (Firefox-Bug 1570178).
- Beim Debuggen in Container-Sitzungen (nützlich zum Testen verschiedener Anmeldungen) werden die Quellen im Debugger jetzt korrekt angezeigt (Firefox-Bug 1375036).
debugger
-Anweisungen können jetzt im Debugger durch Setzen eines Breakpoints darauf und Umschalten des Breakpoints auf "Hier nie pausieren" deaktiviert werden (Firefox-Bug 925269).- WebExtensions-Entwickler können
browser.storage.local
vom Extension Storage-Element unter dem Speicher-Tab aus inspizieren (Firefox-Bug 1585499).
Andere Updates
- Ein Symbol wird neben inaktiven CSS-Eigenschaften in der Regelansicht des Seiteninspektors angezeigt, das Sie überfahren können, um Informationen zu erhalten, warum es inaktiv ist (Firefox-Bug 1306054).
- In der CSS-Regelansicht gibt der Farbwähler für Vordergrundfarben jetzt an, ob deren Kontrast mit der Hintergrundfarbe die Barrierefreiheitskriterien erfüllt (Firefox-Bug 1478156).
- Das Dropdown-Menü "Probleme suchen" im Barrierefreiheitsinspektor enthält jetzt Barrierefreiheitsprüfungen für die Tastaturnutzung (Firefox-Bug 1564968).
HTML
-
Firefox kann dem Benutzer 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 Passwort-Eingabeelement, auch wenn es nicht für neue Passwörter vorgesehen 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 Track-Größenwerte (Firefox-Bug 1339672). -
Eine Reihe von textbezogenen CSS-Eigenschaften wurde 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 jetzt standardmäßig unterbrochen werden, wo sie sonst ein Glyph kreuzen würden.
-
Die
display
-Eigenschaft akzeptiert jetzt zwei Schlüsselwortwerte, die den inneren und äußeren Anzeige-Typ darstellen (Firefox-Bug 1038294, Webkit-Bug 1105868 und Webkit-Bug 1557825). -
Die
font-size
-Eigenschaft akzeptiert jetzt den neuen Schlüsselwortwertxxx-large
(Firefox-Bug 1553545). -
Die
:visited
-Pseudoklasse stimmt aus logischen und Leistungsgründen nicht länger mit<link>
-Elementen überein (Firefox-Bug 1572246; siehe Intent to ship: Make<link>
elements always unvisited und [selectors] :link and<link>
für weitere Überlegungen zum Warum). -
Wir unterstützen jetzt einen
auto
-Wert für diequotes
-Eigenschaft (Firefox-Bug 1421938). -
Stylesheets, die in
<style>
-Elementen enthalten sind, werden jetzt zur 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 jetzt<number>/<number>
oder eine einzelne<number>
als Wert (Firefox-Bug 1565562).
Entfernungen
- Die Unterstützung für 3-Wert-Positionen <position> (außerhalb Hintergrund) wurde 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
- Schnitt-, 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 einheitslose Längenwerte, 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 Separatoren 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). - Laut der neuesten ECMAScript-Spezifikation ist jetzt nie ein führender Nullwert für BigInt-Literale erlaubt, wodurch
08n
und09n
ungültig sind, ähnlich wie bei dem bestehenden Fehler, wenn alte oktale Zahlen wie07n
verwendet werden. Verwenden Sie immer eine führende Null mit dem Buchstaben „o“ (klein oder groß) für oktaleBigInt
-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 zumpopstate
-Ereignis hinzu, um die Benachrichtigung zu erhalten, dass die Navigation abgeschlossen ist (Firefox-Bug 1563587). - Wir haben die 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 Benachrichtigungsberechtigung kann nicht mehr von einem cross-origin
<iframe>
aus angefordert werden (Firefox-Bug 1560741).
Medien, Web Audio und WebRTC
-
Die Methode
RTCPeerConnection.restartIce()
wurde hinzugefügt. Dies ist eine der vier Änderungen, die erforderlich sind, um den neuen "perfekte Verhandlung"-Mechanismus zu implementieren; der Rest wird in zukünftigen Firefox-Updates folgen (Firefox-Bug 1551316). -
Die Methode
RTCPeerConnection.setRemoteDescription()
kann jetzt ohne Parameter aufgerufen werden. Dies ist eine weitere "perfekte Verhandlung"-Aktualisierung (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-Features wurden implementiert oder 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 löst jetzt Fehler aus, 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 akzeptiert anstatt mehrere Parameter, die die einzelnen Komponenten der Matrix darstellen (Firefox-Bug 928150).
HTTP
- Die Standard-Referrer-Policy für Drittanbieter-Tracking-Ressourcen ist jetzt
strict-origin-when-cross-origin
, wenn Erweiterter Tracking-Schutz aktiviert ist (Firefox-Bug 1569996). - Die Größe des
Referer
-Anforderungsheaders ist jetzt auf 4 KB (4.096 Bytes) begrenzt. Wenn ein zu langer Referrer die definierte Grenze überschreitet, wird nur der Ursprungsabschnitt gesendet (Firefox-Bug 1557346). - Der HTTP-Cache ist jetzt pro Ursprungsseite des übergeordneten Dokuments partitioniert (Firefox-Bug 1536058).
Entfernungen
- Die
X-Frame-Options
-Direktiveallow-from uri
wurde entfernt. Verwenden Sie denContent-Security-Policy
-Header mit derframe-ancestors
-Direktive stattdessen (Firefox-Bug 1301529).
WebDriver-Konformität (Marionette)
- Der
WebDriver:TakeScreenshot
-Befehl wurde aktualisiert, um für Fission kompatibel zu sein. Dies bedeutet, dass Inhalte aus cross-origin-Iframes jetzt in einem Screenshot der Seite enthalten sind. Oder wenn Sie es aus dem Chrom-Coding verwenden, dass der Inhalt des aktiven Tabs jetzt im Browserfenster sichtbar ist (Firefox-Bug 1559592). WebDriver:TakeScreenshot
akzeptiert keine Liste von DOM-Elementen mehr, wie sie zum Hervorheben verwendet wurden (Firefox-Bug 1575511).WebDriver:ExecuteScript
undWebDriver:ExecuteAsyncScript
setzenwindow.onunload
nicht mehr auf Arten, die Web-exponiert sind (Firefox-Bug 1568991).
Änderungen für Add-on-Entwickler
API-Änderungen
-
Ein neuer Parameter wurde zur
topSites.get()
-Methode hinzugefügt, der bewirkt, 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 des
webRTCIPHandlingPolicy
-Unterparameters derprivacy.network
-Eigenschaft wurden geändert (im Firefox-Bug 1452713), um das in Chrome sichtbare Verhalten wie folgt zu entsprechen: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, andernfalls ist eine nicht-proxyvermittelte Verbindung erlaubt.proxy_only
kann verwendet werden, um das alte Verhalten bereitzustellen; dies hat zur Folge, dass ICE-Verhandlungen nur über TURN auf TCP mit einem Proxy erlaubt werden; keine anderen Verbindungen sind erlaubt.
Manifeständerungen
Entfernungen
Die folgenden Theme-Schlüsseleigenschaften, die Aliase für Theme-Schlüssel lieferten, die in Chromium-basierten Browsern verwendet werden, 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 Release Post: Firefox 70 — a bountiful release for all
Ältere Versionen
- Firefox 69 for developers
- Firefox 68 for developers
- Firefox 67 for developers
- Firefox 66 for developers
- 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