Firefox 59 für Entwickler
Dieser Artikel bietet Informationen über die Änderungen in Firefox 59, die Auswirkungen auf Entwickler haben werden. Firefox 59 wurde am 13. März 2018 veröffentlicht.
Änderungen für Webentwickler
Entwicklerwerkzeuge
- Der Netzwerk-Monitor zeigt jetzt im Antwort-Tab eine Vorschau des gerenderten HTML — wenn die Antwort HTML ist (Firefox-Bug 1353319).
- Die in der Speichern-Inspektor gezeigten Cookie-Informationen (siehe Cookies) umfassen jetzt eine sameSite-Spalte, die den Same-Site-Status jedes Cookies anzeigt (Firefox-Bug 1298370).
- Das Lineale Werkzeug enthält jetzt eine Anzeige, die die aktuellen Abmessungen des Ansichtsfensters zeigt (Firefox-Bug 1402633).
- Im Responsive Design Modus können Sie jetzt die Bildschirmabmessungen mit den Pfeiltasten festlegen (Firefox-Bug 1421663). Weitere Details finden Sie im Abschnitt Bildschirmgröße einstellen.
- Die Anzeige Rohüberschriften im Headers-Tab des Netzwerk-Monitors zeigt jetzt den Statuscode der Antwort (Firefox-Bug 1419401).
HTML
- Das
<textarea>
Element hat jetzt das Attributautocomplete
implementiert. Damit können Sie die automatische Formularvervollständigung für das Element ein- oder ausschalten.
CSS
- Die
overscroll-behavior
Eigenschaft und die zugehörigen Langform-Eigenschaften —overscroll-behavior-x
undoverscroll-behavior-y
— wurden implementiert (Firefox-Bug 951793) und sie ist standardmäßig in allen Versionen aktiviert (Firefox-Bug 1428879). - Das Verhalten "außergewöhnlicher Elemente" (Elemente, die nicht rein durch CSS-Box-Konzepte gerendert werden wie ersetzte Elemente), wenn ihnen ein
display
Wert voncontents
zugewiesen wird, wurde gemäß der Spezifikation aktualisiert (Firefox-Bug 1427292). Siehe Anhang B: Auswirkungen von display: contents auf außergewöhnliche Elemente für die genau spezifizierten Verhaltensweisen. position
sticky
wird jetzt auf geeigneten Teilen von HTML-Tabellen unterstützt (z.B.<th>
Elemente) (Firefox-Bug 975644).calc()
wird jetzt in<color>
Werten unterstützt —rgb()
,rgba()
,hsl()
, undhsla()
(Firefox-Bug 984021).calc()
wird nun auch in Media Queries unterstützt (Firefox-Bug 1396057).- Die
@document
Regel wurde auf die Verwendung in Benutzer- und UA-Stilen beschränkt (Firefox-Bug 1035091). - Die
font-optical-sizing
Eigenschaft wurde implementiert (Firefox-Bug 1435692).
SVG
Keine Änderungen.
JavaScript
Keine Änderungen.
APIs
Neue APIs
PointerEvents
wurden in Firefox Desktop aktiviert (Firefox-Bug 1411467).
DOM
- Der
EventTarget()
Konstruktor wurde implementiert (Firefox-Bug 1379688). - Der
Response()
Konstruktor kann nun einennull
Wert für seinenbody
Parameter akzeptieren, gemäß der Spezifikation (Firefox-Bug 1303025).
DOM-Ereignisse
- Die Methode
Event.composedPath()
wurde implementiert (Firefox-Bug 1412775).
Service Workers
- Der Service Worker Clients API kann jetzt Fenster in einem separaten Browser-Prozess finden und mit ihnen kommunizieren (Firefox-Bug 1293277).
- Verschachtelte about:blank und about:srcdoc IFrames werden nun den kontrollierenden Service Worker ihres Elternteils erben. Behoben in (Firefox-Bug 1293277) und (Firefox-Bug 1426979).
- Wenn ein Service Worker eine
Response
zuFetchEvent.respondWith()
bereitstellt, wird der Wert vonResponse.url
nun zur abgefangenen Netzwerkanfrage als endgültige aufgelöste URL weitergegeben. In der Vergangenheit wurde hierfürFetchEvent.request.url
verwendet. Dies bedeutet zum Beispiel, wenn ein Service Worker ein Stylesheet oder ein Workerskript abfängt, wird die bereitgestellteResponse.url
verwendet, um alle relativen@import
oderimportScripts()
Subressourcenladevorgänge aufzulösen (Firefox-Bug 1222008). FetchEvent.respondWith()
wird nun einen Netzwerkfehler auslösen, wennFetchEvent.request.mode
"same-origin"
ist und der bereitgestellteResponse.type
"cors"
ist. (Firefox-Bug 1222008).
Medien und WebRTC
-
Die
MediaStreamTrack
EigenschaftMediaStreamTrack.muted
, zusammen mit den Ereignissenmute
undunmute
und den entsprechenden Ereignis-Handlern,onmute
undonunmute
, wurden implementiert. Dermuted
Zustand einer Spur zeigt an, dass die Spur momentan nicht in der Lage ist, Mediendaten bereitzustellen.Hinweis: Der
muted
Zustand einer Spur ist nicht nützlich für das, was typischerweise als Stummschalten und Aufheben der Stummschaltung einer Spur gedacht ist. Stattdessen verwenden Sie dieenabled
Eigenschaft; das Setzen vonenabled
auffalse
bewirkt, dass die Spur nur leere Frames ausgibt. -
Firefox 59 auf Android unterstützt nun das HTTPS Live Streaming (HLS) Protokoll von Apple sowohl für Audio als auch für Video. Dieses nicht-standardisierte Protokoll wird auf mobilen Geräten unterstützt, um die Kompatibilität mit Seiten zu verbessern, die es für mobiles Streaming erfordern. Derzeit gibt es keinen Plan, es in Firefox Desktop zu implementieren.
-
Die Methoden
RTCRtpReceiver
getContributingSources()
undgetSynchronizationSources()
wurden implementiert, um Informationen über die Quellen jedes RTP-Streams bereitzustellen. Eine Spezifikationsänderung trat jedoch vor der Veröffentlichung auf, und wir haben diese standardmäßig hinter der Einstellungmedia.peerconnection.rtpsourcesapi.enable
deaktiviert (Firefox-Bug 1363667, Firefox-Bug 1430213, und Firefox-Bug 1433236). -
Die
RTCRtpTransceiver
Schnittstelle wurde nun implementiert, da die Firefox-Implementierung von WebRTC nun Transceiver unterstützt, undRTCPeerConnection
sowie andere Schnittstellen entsprechend der neuesten Spezifikation aktualisiert wurden. -
Die Methode
RTCPeerConnection.addTransceiver()
wurde hinzugefügt. Darüber hinaus wurde das Verhalten vonaddTrack()
aktualisiert, um bei Bedarf einen Transceiver zu erstellen. -
Unterstützung für WebVTT Regionen wurde in Firefox 58 implementiert, aber standardmäßig deaktiviert. Sie sind jetzt standardmäßig verfügbar (Firefox-Bug 1415805).
-
Firefox unterstützt jetzt WebVTT
REGION
Definitionsblöcke, deren Einstellungsübersicht jede Einstellung pro Zeile hat, anstatt alle Einstellungen auf derselben Zeile der WebVTT-Datei (Firefox-Bug 1415821).
Canvas und WebGL
Keine Änderungen.
CSSOM
Die CSSNamespaceRule
Schnittstelle und ihre namespaceURL
und prefix
Eigenschaften wurden implementiert (Firefox-Bug 1326514).
HTTP
Keine Änderungen.
Sicherheit
- Die Navigation auf oberster Ebene zu
data:
URLs wurde blockiert (Firefox-Bug 1401895). Siehe Blocking Top-Level Navigations to data URLs for Firefox 59 für weitere Details. - Die
SAMEORIGIN
Direktive desX-Frame-Options
Headers wurde geändert, sodass sie nicht nur das oberste IFrame überprüft, sondern alle seine Vorfahren (Firefox-Bug 725490). - Bildressourcen, die von anderen Ursprüngen als dem aktuellen Dokument geladen werden, können keine HTTP-Authentifizierungsdialoge mehr auslösen (Firefox-Bug 1423146).
- HTTP-Authentifizierung verwendet jetzt
utf-8
Kodierung für Benutzernamen und Passwörter (anstattISO-8859-1
) um Parität mit anderen Browsern zu erreichen und um potenzielle Probleme wie in Firefox-Bug 1419658 beschrieben zu vermeiden. - Jeden Tag wird die HSTS preload list von Google aktualisiert. Normalerweise ist dies keine Erwähnung wert, aber in dieser Version wurden neue TLDs hinzugefügt, insbesondere
.app
und.dev
. Da sie neue TLDs sind, könnten Entwickler überrascht sein, dass sie sie für die lokale Entwicklung verwendet haben. Bitte beachten Sie, dass reservierte TLDs für die lokale Entwicklung verwendet werden sollten.
Plugins
Keine Änderungen.
Sonstiges
Keine Änderungen.
Entfernungen aus der Web-Plattform
HTML
Der nicht-standardisierte version
Parameter des type
Attributs des <script>
Elements (z.B. type="application/javascript;version=1.8"
) wurde entfernt (Firefox-Bug 1428745).
CSS
- Die proprietäre
mozmm
<length>
Einheit wurde entfernt (Firefox-Bug 1416564). - Die proprietären Eigenschaften
-moz-border-top-colors
,-moz-border-right-colors
,-moz-border-bottom-colors
und-moz-border-left-colors
wurden auf die Verwendung im Chrome-Code beschränkt (Firefox-Bug 1417200).
JavaScript
- Nicht-standardisierte bedingte Catch-Klauseln wurden entfernt (Firefox-Bug 1228841).
APIs
- Die nicht-standardisierte Methode
Event.getPreventDefault()
wurde entfernt. Sie sollten stattdessen die EigenschaftEvent.defaultPrevented
verwenden, um festzustellen, obpreventDefault()
aufgerufen wurde. - Die proprietäre
Navigator.mozNotification
Eigenschaft und dieDesktopNotification
Schnittstelle wurden zugunsten der standardmäßigen Notifications API entfernt (Firefox-Bug 952453). - Die proprietäre Methode
window.external.addSearchEngine()
wurde entfernt (Firefox-Bug 862147). Weitere Details finden Sie unterWindow.external
. - Die nicht-standardisierte Firefox-exklusive
HTMLMediaElement
EigenschaftmozAutoplayEnabled
wurde entfernt.
SVG
Unterstützung für SMILs accessKey
Funktion wurde entfernt (Firefox-Bug 1423098).
Sonstiges
Unterstützung für die nicht-standardisierten pcast:
und feed:
Protokolle wurde aus Firefox entfernt (Firefox-Bug 1420622).
Änderungen für Add-on- und Mozilla-Entwickler
WebExtensions
-
Theme Aktualisierungen:
- neue Eigenschaften:
colors.background_tab_text
,colors.toolbar_field_border
- alle Farbeigenschaften unterstützen jetzt sowohl Chrome-Style-Arrays als auch CSS-Farbwerte.
- neue Eigenschaften:
-
Neue Browser-Einstellungen:
-
Neue
tabs
APIs: -
Die
contextMenus
API unterstützt jetzt ein "bookmark" Kontext. -
Neue
contentScripts
API ermöglicht die Registrierung von Inhalts-Scripts zur Laufzeit. -
Neue
pageAction
,browserAction
,SidebarAction
APIs:browserAction/pageAction/sidebarAction.set*
Funktionen akzeptieren jetztnull
, um Änderungen rückgängig zu machen.browserAction.isEnabled()
,pageAction.isShown()
,sidebarAction.isOpen()
Funktionen.
-
Neue Option in
page_action
, um Seitenaktionen standardmäßig anzuzeigen. -
Neue Werte für
protocol_handlers
:- "ssb" für Secure Scuttlebutt Kommunikation
- "dat" für DATproject
- "ipfs", "ipns", "dweb" für IPFS
-
Neue
privacy.websites
Einstellung "cookieConfig". -
Unterstützung im
cookies
API für First-Party-Isolation. -
Neue Option
upgradeToSecure
imwebRequest
.
Ältere Versionen
- 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
- Firefox 38 für Entwickler
- Firefox 37 für Entwickler
- Firefox 36 für Entwickler
- Firefox 35 für Entwickler
- Firefox 34 für Entwickler
- Firefox 33 für Entwickler
- Firefox 32 für Entwickler
- Firefox 31 für Entwickler
- Firefox 30 für Entwickler
- Firefox 29 für Entwickler
- Firefox 28 für Entwickler