Firefox 65 für Entwickler
Dieser Artikel bietet Informationen über die Änderungen in Firefox 65, die Entwickler betreffen werden. Firefox 65 wurde am 29. Januar 2019 veröffentlicht.
Änderungen für Webentwickler
Entwickler-Tools
- Der Flexbox-Inspektor ist jetzt standardmäßig aktiviert.
- Unterstützung für XHR-Breakpoints wurde im JavaScript-Debugger hinzugefügt (Firefox-Fehler 821610).
- Klicken Sie mit der rechten Maustaste auf ein Element im Barrierefreiheit-Baum vom Barrierefreiheit-Viewer, um es als JSON zu drucken im JSON-Viewer.
- Die Anzeige des Farbkontrasts des Barrierefreiheit-Pickers wurde aktualisiert, sodass, wenn der Hintergrund eines Textes komplex ist (z. B. ein Verlauf oder ein komplexes Bild), ein Bereich von Farbkontrastwerten angezeigt wird.
- Die Registerkarte Headers im Network Monitor zeigt jetzt die Referrer-Policy für die ausgewählte Anfrage an (Firefox-Fehler 1496742).
- Beim Anzeigen von Stacktraces (z. B. in Konsolenprotokollen oder im JavaScript-Debugger) werden Aufrufe von Framework-Methoden standardmäßig identifiziert und zusammengeklappt, was es einfacher macht, sich auf Ihren Code zu konzentrieren.
- Ähnlich wie bei nativen Terminals können Sie jetzt die Rückwärtssuche verwenden, um Einträge in der JavaScript-Konsole zu finden (
F9
auf Windows/Linux oderCtrl
+R
auf macOS, dann einen Suchbegriff eingeben, gefolgt vonCtrl
+R
/Ctrl
+S
, um durch die Ergebnisse zu navigieren). - Das
$0
-Shortcut der JavaScript-Konsole (verweist auf das aktuell geprüfte Element auf der Seite) verfügt nun über Autovervollständigung, sodass Sie beispielsweise$0.te
eingeben können, um Autovervollständigungsvorschläge für Eigenschaften wie$0.textContent
zu erhalten. - Die Bearbeitungen, die Sie im Regeln-Ansicht des Inspektors vornehmen, werden jetzt im Änderungen-Panel aufgelistet (Firefox-Fehler 1503920).
HTML
- Ereignisse werden jetzt auf deaktivierten HTML-Elementen ausgelöst, d.h.
<button>
,<fieldset>
,<input>
,<select>
, und<textarea>
Elemente mit gesetztendisabled
-Attributen (Firefox-Fehler 329509). - Das Entfernen des
src
-Attributs von einem<iframe>
-Element führt jetzt dazu, dassabout:blank
darin geladen wird, um Gleichheit mit Chrome und Safari zu erreichen (Firefox-Fehler 1507842). Zuvor hatte das Entfernen vonsrc
keine Auswirkungen auf deniframe
-Inhalt. - Unterstützung für das
referrerpolicy
-Attribut bei<script>
-Elementen wurde hinzugefügt (Firefox-Fehler 1460920).
CSS
-
Der
crisp-edges
-Wert der Eigenschaftimage-rendering
ist jetzt unpräfixiert (Firefox-Fehler 1496617). -
Ein
scrollbar-color
-Wert vonauto
löst sich jetzt inauto
auf, anstatt in zwei Farben (Firefox-Fehler 1501418). -
Die
break-*
-Eigenschaften wurden implementiert und die veraltetenpage-break-*
-Eigenschaften wurden an diese angeglichen (Firefox-Fehler 775618):break-before
ist jetzt ein Alias fürpage-break-before
.break-after
ist jetzt ein Alias fürpage-break-after
.break-inside
ist jetzt ein Alias fürpage-break-inside
.
-
Der
anywhere
-Wert deroverflow-wrap
-Eigenschaft wurde implementiert (Firefox-Fehler 1505786). -
Die neuen Schlüsselwörter für Schrittpositionen
jump-start
,jump-end
,jump-none
, undjump-both
— die innerhalb dersteps()
-Timing-Funktion verwendet werden können — wurden implementiert (Firefox-Fehler 1496619). Dies fällt mit der Entfernung derframes()
-Timing-Funktion zusammen, die früher zur Implementierung solcher Funktionalität verwendet wurde und nun veraltet ist. -
Einige neue
-webkit-appearance
-Werte wurden hinzugefügt, um die Kompatibilität mit anderen Browsern zu verbessern. Insbesondere:meter
, das jetzt als Standardwert für<meter>
-Elemente in UA-Stylesheets verwendet wird. Der bestehende Wertmeterbar
ist jetzt ein Alias fürmeter
(Firefox-Fehler 1501483).progress-bar
, das jetzt als Standardwert für<progress>
-Elemente in UA-Stylesheets verwendet wird. Der bestehende Wertprogressbar
ist jetzt ein Alias fürprogress-bar
(Firefox-Fehler 1501506).textarea
, das jetzt als Standardwert für<textarea>
-Elemente in UA-Stylesheets verwendet wird. Der bestehende Werttextfield-multiline
ist jetzt ein Alias fürtextarea
(Firefox-Fehler 1507905).
-
Das Verhalten von
user-select
wurde geändert, um es besser an andere Browser anzupassen (Firefox-Fehler 1506547). Genauer gesagt:-
user-select: all
, das auf ein Element gesetzt ist, überschreibt nicht mehr andere Werte vonuser-select
, die auf untergeordnete Elemente gesetzt sind. Zum Beispiel im folgenden Code-Snippet:html<div style="-webkit-user-select: all"> All <div style="-webkit-user-select: none">None</div> </div>
Das
<div>
-Element mit demnone
-Wert ist jetzt nicht mehr auswählbar. Vorher hätte dieser Wert von demall
-Wert des übergeordneten Elements überschrieben werden können. -
Nicht-
contenteditable
-Elemente, die incontenteditable
-Elemente eingebettet sind, sind jetzt auswählbar. -
user-select
verhält sich jetzt konsistent innerhalb und außerhalb des Schatten-DOM. -
Der proprietäre
-moz-text
-Wert wurde entfernt.
-
-
CSS-Umgebungsvariablen (die
env()
-Funktion) wurden implementiert (Firefox-Fehler 1462233).
Entfernungen
- Die Voreinstellung
layout.css.shape-outside.enabled
wurde entfernt;shape-outside
,shape-margin
, undshape-image-threshold
können nicht mehr inabout:config
deaktiviert werden (Firefox-Fehler 1504387). - Mehrere Firefox-spezifische Werte der
user-select
-Eigenschaft wurden entfernt —-moz-all
,-moz-text
,tri-state
,element
,elements
, undtoggle
. Siehe Firefox-Fehler 1492958 und Firefox-Fehler 1506547. - Wie oben erwähnt, wurde die
frames()
-Timing-Funktion entfernt (Firefox-Fehler 1496619).
SVG
Keine Änderungen.
JavaScript
Intl.RelativeTimeFormat
wird jetzt unterstützt (Firefox-Fehler 1504334).- Strings haben jetzt eine maximale length von
2**30 - 2
(~1GB) statt2**28 - 1
(~256MB) (Firefox-Fehler 1509542). - Die
globalThis
-Eigenschaft, die immer auf das oberste globale Objekt verweist, wurde implementiert (Firefox-Fehler 1317422).
APIs
Neue APIs
- Lesbare Streams wurden standardmäßig aktiviert (Firefox-Fehler 1505122).
- Die Storage Access API wurde standardmäßig aktiviert (Firefox-Fehler 1513021).
DOM
Performance.toJSON()
wurde den Web Workern zugänglich gemacht (Firefox-Fehler 1504958).XMLHttpRequest
-Anfragen werfen jetzt einenNetworkError
, wenn der angeforderte Inhaltstyp einBlob
ist und die Anfragemethode nichtGET
ist (Firefox-Fehler 1502599).- Die
-moz-
-präfixierten Versionen vieler Funktionen der Fullscreen API wurden als veraltet markiert und zeigen nun Veraltungswarnungen in der JavaScript-Konsole an, wenn sie aufgerufen werden (Firefox-Fehler 1504946). Window.createImageBitmap()
undWorkerGlobalScope.createImageBitmap()
unterstützen nun SVG-Bilder (SVGImageElement
) als Bildquelle (Firefox-Fehler 1500768).
DOM-Ereignisse
- Künftig wird nur ein einziger Aufruf von
Window.open()
pro Ereignis zugelassen (Firefox-Fehler 675574). - Die
keyup
- undkeydown
-Ereignisse werden nun während der IME-Komposition ausgelöst, um die Kompatibilität zwischen Browsern für CJKT-Benutzer zu verbessern (Firefox-Fehler 354358).
Web Worker
- Das Event-Objekt von
SharedWorkerGlobalScope.connect
ist eine Instanz vonMessageEvent
— seinedata
-Eigenschaft hat nun einen leeren String-Wert anstelle vonnull
(Firefox-Fehler 1508824).
Fetch und Service Worker
- Die Methode
Response.redirect()
wirft jetzt korrekt einenTypeError
, wenn eine nicht gültige URL als erstes Parameter angegeben wird (Firefox-Fehler 1503276). - Die Methoden
ServiceWorkerContainer.register()
undWorkerGlobalScope.importScripts()
(wenn von einem Service Worker verwendet) akzeptieren nun alle Dateien mit einem gültigen JavaScript-MIME-Typ (Firefox-Fehler 1354577). - Die Eigenschaften
FetchEvent.replacesClientId
undFetchEvent.resultingClientId
werden jetzt unterstützt (Firefox-Fehler 1264177). - Die Handler-Eigenschaften
ServiceWorkerGlobalScope.onmessageerror
undServiceWorkerContainer.onmessageerror
wurden implementiert (Firefox-Fehler 1399446). - Der
Origin
-Header wird bei Fetch-Anfragen mit einer Methode vonHEAD
oderGET
nicht mehr gesetzt (Firefox-Fehler 1508661).
Medien, Web Audio und WebRTC
- Das WebRTC
RTCIceCandidateStats
Wörterbuch wurde gemäß der neuesten Versionsänderungen aktualisiert (Firefox-Fehler 1324788, Firefox-Fehler 1489040; RTCIceCandidateStats wurde auf den neuesten Stand der Spezifikationen gebracht, um mehr Details darüber zu bieten, was genau sich geändert hat). - Die
pause
- undresume
-Ereignisse desMediaRecorder
s (und deren entsprechenden Event-Handler-Eigenschaften) wurden vorher nicht implementiert, obwohl die Kompatibilitätstabellen behaupteten, sie seien es gewesen. Sie wurden nun implementiert (Firefox-Fehler 1458538, Firefox-Fehler 1514016).
Canvas und WebGL
- Die WebGL
EXT_texture_compression_bptc
undEXT_texture_compression_rgtc
Texturkompressions-Erweiterungen wurden für WebGL1- und WebGL2-Kontexte zugänglich gemacht (Firefox-Fehler 1507263).
Entfernungen
- Mutations-Ereignisse wurden in Schattenbäumen deaktiviert (Firefox-Fehler 1489858).
- Die nicht standardmäßige
MediaStream
-EigenschaftcurrentTime
wurde entfernt (Firefox-Fehler 1502927). - Die Voreinstellungen
dom.webcomponents.shadowdom.enabled
unddom.webcomponents.customelements.enabled
wurden entfernt — Shadow DOM und benutzerdefinierte Elemente können nicht mehr inabout:config
deaktiviert werden (Firefox-Fehler 1503019). - Das nicht standardmäßige DOM
text
-Ereignis — das der Benutzeroberfläche des Browsereditors IME-Kompositionszeichenfolgendaten und Auswahlbereich mitteilt — wurde entfernt (Firefox-Fehler 1288640). - Das
keypress
-Ereignis wird nicht mehr für nicht druckbare Tasten ausgelöst (Firefox-Fehler 968056), außer bei derEingabetaste
sowie den TastenkombinationenShift
+Enter
undCtrl
+Enter
(diese wurden aus Gründen der plattformübergreifenden Kompatibilität beibehalten).
Sicherheit
- Zusätzliche CORS-Beschränkungen werden jetzt für zulässige Anfrage-Header durchgesetzt (Firefox-Fehler 1483815, siehe auch whatwg fetch issue 382: CORS-safelisted request headers should be restricted according to RFC 7231 für weitere Details).
Netzwerk
Keine Änderungen.
Plugins
Keine Änderungen.
WebDriver-Konformität (Marionette)
API-Änderungen
WebDriver:ElementSendKeys
behandelt<input type=file>
entspannter für Interaktivitätsprüfungen und erlaubt es diesen Elementen, versteckt zu sein, ohne mehr einennot interactable
-Fehler auszulösen. Wenn eine strikte Interaktivitätsprüfung gewünscht ist, kann die FähigkeitstrictFileInteractability
verwendet werden (Firefox-Fehler 1502864).
Fehlerbehebungen
- Die Fenster-Manipulationsbefehle
WebDriver:FullscreenWindow
,WebDriver:MinimizeWindow
,WebDriver:MaximizeWindow
undWebDriver:SetWindowRect
wurden stabiler gemacht (Firefox-Fehler 1492499). Das bedeutet, dass sie unter speziellen Bedingungen keine unendliche Blockierung mehr verursachen, sondern nach 5 Sekunden auslaufen, wenn der angeforderte Fensterzustand nicht erreicht werden kann (Firefox-Fehler 1521527). WebDriver:ElementClick
berechnet jetzt korrekt den Mittelpunkt des Klickelements, was Interaktionen mit Dimensionen von 1x1 Pixel ermöglicht (Firefox-Fehler 1499360).
Sonstiges
- Für
unexpected alert open
-Fehler werden informativere Nachrichten bereitgestellt (Firefox-Fehler 1502268).
Sonstiges
-
Unterstützung für WebP-Bilder wurde hinzugefügt (Firefox-Fehler 1294490).
- Zusätzlich wurde, um in bestimmten Situationen die plattformübergreifende Kompatibilität zu erleichtern, der WebP-MIME-Typ (
image/webp
) zum Standard-HTTP-Anfrage-Accept
-Header für HTML-Dateien hinzugefügt (Firefox-Fehler 1507691).
- Zusätzlich wurde, um in bestimmten Situationen die plattformübergreifende Kompatibilität zu erleichtern, der WebP-MIME-Typ (
-
Der AV1-Codec wird nun standardmäßig unter Windows unterstützt (Firefox-Fehler 1452146).
Änderungen für Add-on-Entwickler
API-Änderungen
Tabs
-
Die tabs API wurde erweitert, um Tab-Nachfolger zu unterstützen — einem Tab kann ein Nachfolger zugeordnet werden, das die ID des Tabs ist, der aktiv wird, sobald er geschlossen wird (Firefox-Fehler 1500479, siehe auch dieser Blog-Post für weitere Informationen). Insbesondere:
- Der Typ
tabs.Tab
verfügt nun über einesuccessorId
-Eigenschaft, die verwendet werden kann, um die ID des Tab-Nachfolgers zu speichern/abzurufen. - Der Rückruf des
tabs.onActivated
-Ereignislisteners hat einen neuen verfügbaren Parameter,previousTabId
, der die ID des vorher aktivierten Tabs enthält, falls er noch geöffnet ist. - Das
updateProperties
-Objekt dertabs.update()
-Funktion hat eine neue optionale Eigenschaft,successorTabId
, die verwendet werden kann, um sie zu aktualisieren. successorTabId
wird auch von Funktionen wietabs.get()
undtabs.query()
zurückgegeben.- Die neue Funktion
tabs.moveInSuccession()
ermöglicht die Manipulation von Tab-Nachfolgern in großer Zahl.
- Der Typ
Manifest-Änderungen
Keine Änderungen.
Sonstiges
- Die Eigenschaften
headerURL
/theme_frame
für WebExtension-Themen werden jetzt auf Firefox für Android unterstützt (Firefox-Fehler 1429488).
Siehe auch
- Hacks-Veröffentlichungspost: Firefox 65: WebP-Unterstützung, Flexbox-Inspektor, neue Tools & Plattform-Updates
Ältere Versionen
- 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
- 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