Firefox 49 für Entwickler

Um die neuesten Entwickler-Features von Firefox zu testen, installieren Sie Firefox Developer Edition Firefox 49 wurde am 20. September 2016 veröffentlicht. Dieser Artikel listet wichtige Änderungen auf, die nicht nur für Webentwickler nützlich sind, sondern auch für Firefox- und Gecko-Entwickler sowie Add-on-Entwickler.

Änderungen für Webentwickler

Entwickler-Tools

  • JavaScript-Fehler, die in die Konsole protokolliert werden, bieten nun einen [Learn more]-Link für zusätzliche Debugging-Hilfe (Firefox Bug 1179876).

  • CSS-Autovervollständigung: Mehr Vorschläge im Autovervollständigungspopup anzeigen (Firefox Bug 1260419).

  • Der Animationsinspektor zeigt jetzt Animationsleistungsinformationen in den DevTools an (Firefox Bug 1254408).

  • Das Kontextmenü des Inspektors wurde neu organisiert, um es übersichtlicher und benutzerfreundlicher zu gestalten (Firefox Bug 1211613).

  • Der Inspektor unterstützt jetzt die #RRGGBBAA- und #RGBA-Syntax für Farbwerte (Firefox Bug 1271191).

  • Die Developer-Tools zeigen keine selbstschließenden Tags mehr als ob sie einen Abschlusstag auf HTML-Seiten hätten; das Verhalten bleibt bei XHTML-Seiten unverändert (Firefox Bug 820926).

  • Verbesserungen der Barrierefreiheit!

    • Die Werkzeugleiste sorgt dafür, dass der Tastaturfokus besser sichtbar ist (Firefox Bug 1242851).
    • Barrierefreiheitsetiketten wurden zu unetikettierten Steuerelementen hinzugefügt (Firefox Bug 1242715).
    • Semantiken für Baumansichten und Tastaturnavigation wurden zur Markup-Ansicht des Inspektors hinzugefügt (Firefox Bug 1242694).
  • Der Netzwerkmonitor zeigt jetzt eine Ursache-Spalte, die angibt, was jede einzelne Netzwerk-Anfrage verursacht hat (Firefox Bug 1134073).

  • Auf der about:debugging Add-ons-Seite ist die Schaltfläche Neu laden nur für temporäre Add-ons aktiviert. Sie wird für alle anderen Add-ons deaktiviert (Firefox Bug 1273184).

  • Auf der about:debugging Workers-Seite wird eine Warnmeldung im Abschnitt Service Workers angezeigt, falls Service Workers mit der aktuellen Browserkonfiguration inkompatibel sind (Firefox Bug 1266415).

  • about:debugging hat jetzt eine neue Tabs-Seite, die eine vollständige Liste aller debuggbaren Tabs im aktuellen Firefox-Instanz bietet (Firefox Bug 1266128).

  • Die Option Cache deaktivieren in den erweiterten Einstellungen der Toolbox wurde in HTTP-Cache deaktivieren umbenannt, um klarzustellen, dass dies den HTTP-Cache betrifft und nicht Service Workers/die Cache API (Bug(1253018)).

  • Der Storage Inspector ermöglicht jetzt das Löschen von IndexedDB-Datenbanken über ihre eigenen Kontextmenüs (Firefox Bug 1205123), und wird Warnmeldungen anzeigen, falls die IndexedDB aus irgendeinem Grund nicht gelöscht werden kann (zum Beispiel wenn noch aktive Verbindungen bestehen) (Firefox Bug 1268460).

HTML

CSS

JavaScript

Schnittstellen/APIs/DOM

DOM & HTML DOM

  • Die Methode DOMTokenList.supports() wurde hinzugefügt (Firefox Bug 1257849).
  • Die Methode DOMTokenList.replace() wurde hinzugefügt (Firefox Bug 1224186).
  • Vorangestellte '?'-Zeichen werden jetzt im Parameter des URLSearchParams()-Konstruktors ignoriert (Firefox Bug 1268361).
  • Der von URL.origin, HTMLAnchorElement.origin und HTMLAreaElement.origin für URLs mit dem blob:-Schema zurückgegebene Wert ist nicht länger fälschlicherweise null, sondern stattdessen der Ursprung der URL, die durch Entfernen des führenden blob: gebildet wird (Firefox Bug 1270451).
  • Im Prerendering-Modus gibt die Document.visibilityState-Eigenschaft jetzt 'prerender' zurück (Firefox Bug 1069772).
  • Die Window.isSecureContext-Eigenschaft wurde implementiert (Firefox Bug 1162772).
  • Die DOM4-Methoden Element.before, Element.after, Element.replaceWith, Element.append und Element.prepend wurden implementiert (Firefox Bug 911477).
  • Die Methode TouchList.identifiedTouch() wurde entfernt (Firefox Bug 1188539).
  • Standardmäßig wird die scrollbars-Eigenschaft von Window aktiviert, wenn Window.open() aufgerufen wird. In der Vergangenheit wurde dringend empfohlen, sie zu aktivieren, aber es war nicht der Standard (Firefox Bug 1257887).
  • Die experimentelle und nicht standardisierte Methode HTMLMediaElement.seekToNextFrame(), die es ermöglicht, bildweise durch Videoinhalte zu suchen, wurde hinzugefügt (Firefox Bug 1235301). Sie sind ermutigt, mit dieser Methode zu experimentieren, um besser zu verstehen, wie nützlich sie ist, aber verwenden Sie sie nicht in Produktionscode!
  • Die HTMLLabelElement.form-Eigenschaft gibt jetzt das Formular zurück, mit dem das Steuerelement des Etiketts verknüpft ist, falls ein solches Steuerelement vorhanden ist (und wenn dieses Steuerelement mit einem Formular verknüpft ist). Früher wurden Etiketten direkt mit Formularen verknüpft, indem diese Eigenschaft verwendet wurde (Firefox Bug 1268852).
  • Unterstützung für den dritten Parameter von EventTarget.addEventListener(), entweder ein Boolean oder eine EventListenerOptions, wurde hinzugefügt (Firefox Bug 1266164 und Firefox Bug 1266066).
  • Die Audio-Lautstärke-bezogenen Werte für KeyboardEvent.key wurden umbenannt. "VolumeDown" ist jetzt "AudioVolumeDown", "VolumeUp" ist jetzt "AudioVolumeUp" und "VolumeMute" ist jetzt "AudioVolumeMute". Dies bringt Firefox in Einklang mit der neuesten Version der UI Events-Spezifikation (Firefox Bug 1272578). Siehe Codewerte für Tastaturereignisse für eine vollständige Liste der verfügbaren Tastencodes.
  • Die Schlüssel, die zuvor als "MozHomeScreen", "MozCameraFocusAdjust" und "MozPhoneCall" bezeichnet wurden, haben jetzt offizielle Namen in der UI Events-Spezifikation: "GoHome", "CameraFocus" und "Call". Firefox 49 wurde aktualisiert, um die neuen Namen zu verwenden (Firefox Bug 1272599). Siehe Codewerte für Tastaturereignisse für eine vollständige Liste der verfügbaren Tastencodes.
  • Die Tastaturwerte "Separator" und "MediaSkip" wurden entfernt, da sie veraltet und unbenutzt waren (Firefox Bug 1232919).
  • Key-Werte und die entsprechenden Tastencodes "Hyper" und "Super" wurden hinzugefügt, um diese Legacy-Modifikatortasten darzustellen (Firefox Bug 1232919).
  • Zwei Key-Werte für Multimedia-Zahlenfeldtasten wurden hinzugefügt: "Key11" und "Key12" (Firefox Bug 1232919).
  • Die folgenden neuen Tastaturwerte wurden für Audiosteuerungstasten hinzugefügt: "AudioBassBoostToggle", "AudioTrebleDown" und "AudioTrebleUp" (Firefox Bug 123919).
  • Key-Werte wurden für diese Mikrofonsteuerungstasten hinzugefügt: MicrophoneToggle, MicrophoneVolumeDown, MicrophoneVolumeUp und MicrophoneVolumeMute (Firefox Bug 123919).
  • Neue Key-Werte wurden hinzugefügt, um Spracherkennungsgeräte zu unterstützen: SpeechCorrectionList und SpeechInputToggle (Firefox Bug 1232919).
  • Neue Key-Werte wurden hinzugefügt, um spezielle Tasten auf Telefonen zu unterstützen: AppSwitch, Call, CameraFocus, EndCall, GoBack, GoHome, HeadsetHook, LastNumberRedial, Notification, MannerMode und VoiceDial (Firefox Bug 1232919).
  • Diese neuen Anwendungswerte wurden hinzugefügt: LaunchContacts und LaunchPhone (Firefox Bug 1232919).
  • Neue Key-Werte wurden hinzugefügt, um Fernsehergeräte zu unterstützen: TV3DMode, TVAntennaCable, TVAudioDescription, TVAudioDescriptionMixDown, TVAudioDescriptionMixUp, TVContentsMenu, TVDataService, TVInput, TVInputComponent1, TVInputComponent2, TVInputComposite1, TVInputComposite2, TVInputHDMI1, TVInputHDMI2, TVInputHDMI3, TVInputHDMI4, TVInputVGA1, TVMediaContext, TVNetwork, TVNumberEntry, TVRadioService, TVSatellite, TVSatelliteBS, TVSatelliteCS, TVSatelliteToggle, TVTerrestrialAnalog, TVTerrestrialDigital, TVTimer und DVR (Firefox Bug 1232919).
  • Der Key-Wert MediaSelect wurde durch den Standard-Key-Wert LaunchMediaPlayer ersetzt (Firefox Bug 1272592).
  • Zusätzliche Media-Player-Keyboard-Werte wurden ebenfalls hinzugefügt. Diese sind MediaAudioTrack, MediaSkipBackward, MediaSkipForward, MediaStepBackward, MediaStepForward, MediaTopMenu, NavigateIn, NavigateNext, NavigateOut und NavigatePrevious (Firefox Bug 1232919).

Canvas

WebGL

IndexedDB

Service Workers und verwandte

  • Das redirected-Eigentum des Fetch API's Response-Objekts wurde implementiert, das angibt, ob die Antwort auf eine zugehörige Anfrage weitergeleitet wurde. Bitte überprüfen Sie die Sicherheitsanmerkungen in der Dokumentation, bevor Sie auf diese Eigenschaft zugreifen (Firefox Bug 1243792).
  • Im Permissions API wird der PushPermissionDescriptor-Typ nicht mehr unterstützt. Firefox stützt sich stattdessen auf ein Quotensystem zur Kontrolle des userVisibleOnly-Status und warf einen Fehler, wenn es auf eine PushPermissionDescriptor-Instanz stieß (Firefox Bug 1266821). Mit der Entfernung dieses Wörterbuchs ignoriert Firefox es jetzt.

Media Streams

  • In der Vergangenheit war es möglich, dass ein Aufruf von MediaDevices.getUserMedia(), der sowohl Audio als auch Video anforderte, selbst dann erfolgreich sein würde, wenn der Benutzer nur eine der beiden Gerätearten verfügbar hatte. Dies wurde behoben (Firefox Bug 802326).
  • In früheren Versionen von Firefox konnte ein Aufruf von MediaDevices.getUserMedia(), der sowohl Audio als auch Video anforderte, selbst dann erfolgreich sein, wenn der Benutzer den Zugriff auf ein Gerät, aber nicht beide, verweigerte. Dies wurde behoben (Firefox Bug 802326). Dazu gehören auch kleinere Änderungen an der Benutzeroberfläche, um die Optionen für "Kein Audio" oder "Kein Video" bei der Aufforderung zur Berechtigungsauswahl zu entfernen.
  • Die Methode MediaStream.getTrackById() wurde implementiert (Firefox Bug 1208390).

WebRTC

  • Die Methode RTCPeerConnection.addTrack() wurde aktualisiert, um Tracks zu ermöglichen, die nicht Bestandteil der angegebenen Streams sind, der Verbindung hinzugefügt zu werden. Stattdessen werden die Streams verwendet, um Tracks auf der empfangenden Seite der Verbindung zu gruppieren (Firefox Bug 1271669).

Neue APIs

Andere

MathML

Keine Änderung.

SVG

  • Unterstützung für die veralteten <altGlyph>, <altGlyphDef> und <altGlyphItem>-Elemente wurde entfernt (Firefox Bug 1260032).

Audio/Video

Keine Änderung.

Plugins und Flash

Ab Firefox 49 blockiert Firefox standardmäßig bestimmte Arten von Flash-Inhalten, die für das ordnungsgemäße Funktionieren von Websites nicht erforderlich sind. Dieses Verhalten, das durch die Einstellung browser.safebrowsing.blockedURIs.enabled gesteuert wird, verbessert die Leistung von Websites und Firefox im Allgemeinen ohne signifikante Auswirkungen auf die Benutzerfreundlichkeit der Websites. Es verbessert auch die Stabilität des Browsererlebnisses, indem eine Hauptursache für Abstürze beseitigt wird. Die blockierten Flash-Module umfassen mehrere, die nur zu Fingerabdruckzwecken verwendet werden, sowie eine Reihe von "Supercookie"-Modulen, und in Zukunft kann dies erweitert werden, um weitere blockierte Module einzuschließen. Einzelheiten siehe Firefox Bug 1275591.

Dies markiert den nächsten Schritt auf dem Weg in eine plugin-freie Zukunft. HTML steht kurz davor, den Punkt zu erreichen, an dem Plugins nicht mehr benötigt werden, um die erforderlichen Aufgaben zu erledigen.

HTTP

Networking

  • Die Implementierung der Proxy Auto-Configuration (PAC) wurde aktualisiert. Jetzt unterstützen weekdayRange, dateRange und timeRange "umgekehrte Bereiche", beispielsweise wird weekdayRange("SAT", "MON") als true bewertet, wenn der aktuelle Tag Samstag, Sonntag oder Montag ist (Firefox Bug 1251332).

Sicherheit

Kompatibilität

Um die Kompatibilität mit bestehenden Inhalten zu verbessern, akzeptiert Firefox jetzt einige mit -webkit präfixierte Eigenschaften und Attribute.

  • Die folgenden Eigenschaften funktionieren jetzt auch mit dem Präfix -webkit:

    • -webkit-align-items
    • -webkit-align-content
    • -webkit-align-self
    • -webkit-animation
    • -webkit-animation-delay
    • -webkit-animation-direction
    • -webkit-animation-duration
    • -webkit-animation-fill-mode
    • -webkit-animation-iteration-count
    • -webkit-animation-name
    • -webkit-animation-play-state
    • -webkit-animation-timing-function
    • -webkit-backface-visibility
    • -webkit-background-clip
    • -webkit-background-origin
    • -webkit-background-size
    • -webkit-border-bottom-left-radius
    • -webkit-border-bottom-right-radius
    • -webkit-border-image
    • -webkit-border-top-left-radius
    • -webkit-border-top-right-radius
    • -webkit-border-radius
    • -webkit-box-shadow
    • -webkit-filter
    • -webkit-flex
    • -webkit-flex-basis
    • -webkit-flex-direction
    • -webkit-flex-flow
    • -webkit-flex-grow
    • -webkit-flex-shrink
    • -webkit-flex-wrap
    • -webkit-justify-content
    • -webkit-order
    • -webkit-perspective
    • -webkit-perspective-origin
    • -webkit-text-size-adjust
    • -webkit-transform
    • -webkit-transform-origin
    • -webkit-transform-style
    • -webkit-transition
    • -webkit-transition-delay
    • -webkit-transition-duration
    • -webkit-transition-property
    • -webkit-transition-timing-function
    • -webkit-user-select
  • Die folgenden Eigenschaften werden auf die entsprechende mit Präfix versehene Eigenschaft abgebildet:

    • -webkit-box-flex
    • -webkit-box-ordinal-group
    • -webkit-box-orient
    • -webkit-box-align
    • -webkit-box-pack
  • Für <image>-Werte:

    • Die folgenden Funktionen werden auf ihre unpräfixierten Entsprechungen abgebildet: -webkit-linear-gradient(), -webkit-radial-gradient(), -webkit-repeating-linear-gradient() und -webkit-repeating-radial-gradient().
    • Das veraltete -webkit-gradient wird unterstützt (und in einen regulären Verlauf übersetzt)
  • Die folgenden display-Werte werden umgewandelt:

    • -webkit-box zu -moz-box
    • -webkit-flex zu flex
    • -webkit-inline-box zu inline-flex
    • -webkit-inline-flex zu -moz-inline-flex
  • Die folgenden Eigenschaften werden unterstützt (und nicht auf eine unpräfixierte Entsprechung abgebildet):

  • Die WebKitCSSMatrix-Schnittstelle ist ein Alias von DOMMatrix

  • Die folgenden Media-Query-Features wurden implementiert:

    • -webkit-min-device-pixel-ratio als Alias von min-resolution mit demselben Wert (in dppx), obwohl dieses Feature standardmäßig deaktiviert ist (hinter der about:config-Einstellung layout.css.prefixes.device-pixel-ratio-webkit)
    • -webkit-max-device-pixel-ratio als Alias von max-resolution mit demselben Wert (in dppx); auch dieses Feature ist standardmäßig deaktiviert, hinter derselben about:config-Einstellung.
    • -webkit-transform-3d immer übereinstimmend, was auf Unterstützung für 3D-Transformationen hinweist.

Änderungen für Add-On- und Mozilla-Entwickler

WebExtensions

  • Unterstützung für das history wurde hinzugefügt. Dies bietet Zugriff auf den Browserverlauf, mit verfügbaren Methoden zum Durchsuchen des Verlaufs, zum Abrufen von Informationen zu zuvor besuchten Seiten und zum Hinzufügen und Entfernen von Verlaufs-Einträgen.
  • Die Methode tabs.removeCSS() wurde zur Tabs-API hinzugefügt. Diese Methode ermöglicht das Entfernen von CSS, das zuvor durch Aufrufen von tabs.insertCSS() eingefügt wurde.

Schnittstellen

Sonstiges

Keine Änderung.

Ältere Versionen