Firefox 49 für Entwickler

Um die neuesten Entwicklerfunktionen von Firefox zu testen, installieren Sie die 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 für Add-on-Entwickler.

Änderungen für Webentwickler

Entwicklerwerkzeuge

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

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

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

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

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

  • Die Entwicklerwerkzeuge zeigen auf HTML-Seiten keine selbstschließenden Tags mehr an (wie <br> und <img>), als ob sie ein abschließendes Tag hätten; das Verhalten für XHTML-Seiten bleibt unverändert (Firefox-Bug 820926).

  • Verbesserungen der Barrierefreiheit!

    • Die Toolbox stellt sicher, dass der Tastaturfokus besser sichtbar ist (Firefox-Bug 1242851).
    • Barrierefreiheitsetiketten wurden zu nicht beschrifteten Steuerelementen hinzugefügt (Firefox-Bug 1242715).
    • Es wurden geeignete Baumansichtssemantiken und Tastaturnavigation zur Markup-Ansicht des Inspektors hinzugefügt (Firefox-Bug 1242694).
  • Der Netzwerkmonitor zeigt jetzt eine Ursache-Spalte, die angibt, was jede einzelne Netzwerkanforderung verursacht hat (Firefox-Bug 1134073).

  • Auf der Add-ons-Seite about:debugging 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, wenn Service Workers mit der aktuellen Browser-Konfiguration nicht kompatibel sind (Firefox-Bug 1266415).

  • about:debugging hat jetzt eine neue Tabs-Seite, die eine vollständige Liste aller debuggbaren Tabs anzeigt, die in der aktuellen Firefox-Instanz geöffnet sind (Firefox-Bug 1266128).

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

  • Der Speicherinspektor ermöglicht jetzt das Löschen von IndexedDB-Datenbanken über deren eigene Kontextmenüs (Firefox-Bug 1205123), und zeigt Warnmeldungen an, wenn 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).
  • Führende '?'-Zeichen werden jetzt im Parameter des URLSearchParams()-Konstruktors ignoriert (Firefox-Bug 1268361).
  • Der von URL.origin, HTMLAnchorElement.origin und HTMLAreaElement.origin zurückgegebene Wert für URLs, die das blob:-Schema verwenden, ist nicht mehr fälschlicherweise null, sondern stattdessen der Ursprung der URL, der durch Entfernen des führenden blob: gebildet wird (Firefox-Bug 1270451).
  • Im Prerendering-Modus gibt die Eigenschaft Document.visibilityState jetzt 'prerender' zurück (Firefox-Bug 1069772).
  • Die Eigenschaft Window.isSecureContext 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 ist das scrollbars Window Merkmal aktiviert, wenn Window.open() aufgerufen wird. In der Vergangenheit wurde zwar dringend empfohlen, es zu aktivieren, aber es war nicht standardmäßig gesetzt (Firefox-Bug 1257887).
  • Die experimentelle und nicht standardisierte Methode HTMLMediaElement.seekToNextFrame() wurde hinzugefügt, die es ermöglicht, frameweise durch Videoinhalte zu navigieren (Firefox-Bug 1235301). Während Sie ermutigt werden, mit dieser Methode zu experimentieren, um uns zu helfen zu verstehen, wie nützlich sie ist, verwenden Sie sie nicht in Produktionscode!
  • Die Eigenschaft HTMLLabelElement.form gibt jetzt das Formular zurück, mit dem das Steuerelement des Labels verbunden ist, falls es eines gibt (und falls dieses Steuerelement mit einem Formular verbunden ist). Früher wurden Labels mit dieser Eigenschaft direkt mit Formularen verbunden (Firefox-Bug 1268852).
  • Unterstützung für den dritten Parameter von EventTarget.addEventListener(), entweder ein Boolean oder ein EventListenerOptions wurde hinzugefügt (Firefox-Bug 1266164 und Firefox-Bug 1266066).
  • Die audio-Lautstärkeyzogenen 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 dem neuesten Entwurf der UI Events Spezifikation (Firefox-Bug 1272578). Siehe Codewerte für Tastaturereignisse für eine vollständige Liste der verfügbaren Tasten-Codes.
  • Die zuvor als "MozHomeScreen", "MozCameraFocusAdjust" und "MozPhoneCall" bezeichneten Tasten 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 Tasten-Codes.
  • Die Schlüsselwerte "Separator" und "MediaSkip" wurden entfernt, da sie veraltet und unbenutzt waren (Firefox-Bug 1232919).
  • Schlüsselwerte und die entsprechenden Schlüsselcodes "Hyper" und "Super" wurden hinzugefügt, um diese Erbschlüsselmodifikatoren darzustellen (Firefox-Bug 1232919).
  • Zwei Schlüsslerte für Multimedia-Zifferntasten wurden hinzugefügt: "Key11" und "Key12" (Firefox-Bug 1232919).
  • Die folgenden neuen Tastenwerte wurden für Audiosteuertasten hinzugefügt: "AudioBassBoostToggle", "AudioTrebleDown" und "AudioTrebleUp" (Firefox-Bug 123919).
  • Tastenwerte wurden für diese Mikrofon-Steuertasten hinzugefügt: MicrophoneToggle, MicrophoneVolumeDown, MicrophoneVolumeUp und MicrophoneVolumeMute (Firefox-Bug 123919).
  • Neue Tastenwerte wurden hinzugefügt, um Sprachsteuerungsgeräte zu unterstützen: SpeechCorrectionList und SpeechInputToggle (Firefox-Bug 1232919).
  • Neue Tastenwerte 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 Anwendungstastenwerte wurden hinzugefügt: LaunchContacts und LaunchPhone (Firefox-Bug 1232919).
  • Neue Tastenwerte wurden hinzugefügt, um Fernsehgerä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 Schlüsselwert MediaSelect wurde durch den standardmäßigen Schlüsselwert LaunchMediaPlayer ersetzt (Firefox-Bug 1272592).
  • Zusätzliche Mediaplayer-Schlüsselwerte 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 Fetch API's Response Objekt implementiert jetzt die redirected Eigenschaft, die angibt, ob die Antwort auf eine umgeleitete Anfrage bezogen ist. Überprüfen Sie bitte die sicherheitsrelevanten Anmerkungen in der Dokumentation, bevor Sie diese Eigenschaft verwenden (Firefox-Bug 1243792).
  • Im Permissions API unterstützt Firefox den push PermissionDescriptor-Dictionary-Typ nicht mehr (in der Spezifikation als PushPermissionDescriptor bezeichnet); dies liegt daran, dass Firefox stattdessen ein Kontingentsystem zur Steuerung des userVisibleOnly-Status verwendet und einen Fehler auslöste, wenn es auf eine PushPermissionDescriptor-Instanz stieß (Firefox-Bug 1266821). Mit diesem entfernten Dictionary ignoriert Firefox es jetzt.

Mediastreams

  • In der Vergangenheit war es möglich, dass ein Aufruf von MediaDevices.getUserMedia(), der sowohl Audio als auch Video anfordert, erfolgreich war, in Fällen, in denen der Benutzer nur eine der beiden Hardwaretypen verfügbar hat. Dies wurde behoben (Firefox-Bug 802326).
  • In früheren Versionen von Firefox war es möglich, dass ein Aufruf von MediaDevices.getUserMedia(), der sowohl Audio als auch Video anfordert, erfolgreich war, obwohl der Benutzer den Zugriff auf eines der passenden Geräte verweigerte, aber nicht auf beide. Dies wurde behoben (Firefox-Bug 802326). Dies erfordert auch geringfügige Änderungen an der Benutzeroberfläche, um die Optionen "Kein Audio" oder "Kein Video" zu entfernen, wenn der Benutzer um Berechtigungen aufgefordert wird.
  • Die MediaStream.getTrackById() Methode wurde implementiert (Firefox-Bug 1208390).

WebRTC

  • Die Methode RTCPeerConnection.addTrack() wurde aktualisiert, um es zu ermöglichen, Tracks hinzuzufügen, die keine Bestandteile der angegebenen Streams sind. Stattdessen werden die Streams verwendet, um Tracks auf der Empfangsseite 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 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 die Funktionalität von Websites nicht notwendig sind. Dieses Verhalten, das durch die Präferenz browser.safebrowsing.blockedURIs.enabled gesteuert wird, hilft, die Leistung von Websites und Firefox im Allgemeinen zu verbessern, ohne die Benutzerfreundlichkeit der Website wesentlich zu beeinträchtigen. Es hilft auch, die Stabilität der Browser-Erfahrung zu verbessern, indem eine Hauptursache für Abstürze eliminiert wird. Zu den blockierten Flash-Modulen gehören mehrere, die nur zu Fingerabdruckzwecken verwendet werden, sowie eine Reihe von "Supercookie"-Modulen. In Zukunft könnte die Liste der blockierten Module erweitert werden. Weitere Informationen finden Sie im Firefox-Bug 1275591.

Dies markiert den nächsten Schritt auf dem Weg zu einer plugin-freien Zukunft. HTML ist sehr nah an dem Punkt, an dem Plugins nicht mehr notwendig sind, um die Arbeit zu erledigen.

HTTP

Netzwerk

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

Sicherheit

Kompatibilität

Um die Kompatibilität mit vorhandenen Inhalten zu verbessern, akzeptiert Firefox jetzt einige mit WebKit geprefixte 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 der entsprechenden geprefixten Eigenschaft zugeordnet:

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

    • Die folgenden Funktionen werden ihren nicht geprefixten Äquivalenten zugeordnet: -webkit-linear-gradient(), -webkit-radial-gradient(), -webkit-repeating-linear-gradient(), und -webkit-repeating-radial-gradient().
    • Der veraltete -webkit-gradient wird unterstützt (und wird in einen regulären Gradienten umgewandelt)
  • Die folgenden display Werte werden übersetzt:

    • -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 in ein unprefixtes Äquivalent abgebildet):

  • Die WebKitCSSMatrix-Schnittstelle ist ein Alias für DOMMatrix

  • Die folgenden Medieneigenschaften wurden implementiert:

    • -webkit-min-device-pixel-ratio als Alias für min-resolution mit demselben Wert (in dppx)), obwohl diese Funktion standardmäßig deaktiviert ist (hinter der about:config Prämisse layout.css.prefixes.device-pixel-ratio-webkit)
    • -webkit-max-device-pixel-ratio als Alias für max-resolution mit demselben Wert (in dppx); diese Funktion ist ebenfalls standardmäßig deaktiviert, hinter derselben about:config Prämisse.
    • -webkit-transform-3d immer matching, gibt an, dass 3D-Transformation unterstützt wird.

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

WebExtensions

  • Unterstützung für die history wurde hinzugefügt. Dies bietet Zugriff auf den Browserverlauf, mit verfügbaren Methoden zum Durchsuchen des Verlaufs, Abrufen von Informationen über zuvor besuchte Seiten und Hinzufügen und Entfernen von Verlaufseinträgen.
  • Die Methode tabs.removeCSS() wurde zur Tabs-API hinzugefügt. Mit dieser Methode können Sie CSS entfernen, das zuvor durch Aufrufen von tabs.insertCSS() injiziert wurde.

Schnittstellen

Andere

Keine Änderung.

Ältere Versionen