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 die wesentlichen Änderungen auf, die nicht nur für Webentwickler nützlich sind, sondern auch für Entwickler von Firefox und Gecko sowie für Add-on-Entwickler.

Änderungen für Webentwickler

Entwickler-Tools

HTML

CSS

JavaScript

Interfaces/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 für URLs mit dem blob: Schema zurückgegebene Wert ist nicht mehr fälschlicherweise null, sondern stattdessen der Ursprung der URL gebildet, indem das führende blob: entfernt 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 TouchList.identifiedTouch() Methode wurde entfernt (Firefox Bug 1188539).
  • Standardmäßig ist das scrollbars Window Feature aktiviert, wenn Window.open() aufgerufen wird. In der Vergangenheit war es zwar stark empfohlen, es zu aktivieren, aber es war nicht standardmäßig gesetzt (Firefox Bug 1257887).
  • Die experimentelle und nicht-standardisierte Methode HTMLMediaElement.seekToNextFrame(), die es ermöglicht, das Video Bild für Bild zu durchsuchen, wurde hinzugefügt (Firefox Bug 1235301). Obwohl 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 HTMLLabelElement.form Eigenschaft gibt nun das Formular zurück, mit dem das Kontrollkästchen des Labels verbunden ist, falls ein solches Kontrollkästchen existiert (und wenn dieses Kontrollkästchen mit einem Formular verbunden ist). Zuvor waren Labels über diese Eigenschaft direkt mit Formularen verbunden (Firefox Bug 1268852).
  • Unterstützung für den dritten Parameter von EventTarget.addEventListener(), entweder einen Boolean oder eine EventListenerOptions, wurde hinzugefügt (Firefox Bug 1266164 und Firefox Bug 1266066).
  • Die Lautstärkebezogenen Werte für KeyboardEvent.key wurden umbenannt. "VolumeDown" ist jetzt "AudioVolumeDown", "VolumeUp" ist jetzt "AudioVolumeUp" und "VolumeMute" ist jetzt "AudioVolumeMute". Dies bringt Firefox in Übereinstimmung 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 Tastencodes.
  • Die Tasten, 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 Tastenwerte "Separator" und "MediaSkip" wurden entfernt, da sie veraltet und unbenutzt waren (Firefox Bug 1232919).
  • Tastenwerte und die entsprechenden Tastencodes "Hyper" und "Super" wurden hinzugefügt, um diese Legacy-Modifizierertasten darzustellen (Firefox Bug 1232919).
  • Zwei Tastenwerte für Multimedia-Numpad-Tasten wurden hinzugefügt: "Key11" und "Key12" (Firefox Bug 1232919).
  • Die folgenden neuen Tastenwerte wurden für Audiokontrolltasten hinzugefügt: "AudioBassBoostToggle", "AudioTrebleDown", und "AudioTrebleUp" (Firefox Bug 123919).
  • Tastenwerte wurden für diese Mikrofonkontrolltasten hinzugefügt: MicrophoneToggle, MicrophoneVolumeDown, MicrophoneVolumeUp und MicrophoneVolumeMute (Firefox Bug 123919).
  • Neue Tastenwerte wurden hinzugefügt, um Spracherkennungsgerä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 Tastenwert MediaSelect wurde durch den Standardtastenwert LaunchMediaPlayer ersetzt (Firefox Bug 1272592).
  • Zusätzliche Tastenwerte für Mediaplayer 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 Attribut des Fetch API Response Objekts, das anzeigt, ob die Antwort für eine umgeleitete Anfrage ist, wurde jetzt implementiert. Bitte beachten Sie die sicherheitsrelevanten Hinweise in der Dokumentation, bevor Sie diese Eigenschaft verwenden (Firefox Bug 1243792).
  • In der Permissions API unterstützt Firefox den 'push' PermissionDescriptor Wörterbuchtyp (in der Spezifikation als PushPermissionDescriptor bezeichnet) nicht mehr; dies liegt daran, dass Firefox stattdessen auf ein Kontingentsystem zur Steuerung der userVisibleOnly-Einstellung setzt und einen Fehler auslöste, wenn es auf eine PushPermissionDescriptor-Instanz stieß (Firefox Bug 1266821). Mit diesem entfernten Wörterbuch 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 anfordert, auch dann erfolgreich war, wenn der Benutzer nur eine der beiden Hardwarearten verfügbar hatte. 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, auch dann erfolgreich war, wenn der Benutzer nur für eine der passenden Geräte Zugang gewährt, aber nicht für beide. Dies wurde behoben (Firefox Bug 802326). Dies umfasst auch kleinere Benutzeroberflächenänderungen, um die Optionen zum Auswählen von "Kein Audio" oder "Kein Video" zu entfernen, wenn der Benutzer nach Berechtigungen gefragt wird.
  • Die MediaStream.getTrackById() Methode wurde implementiert (Firefox Bug 1208390).

WebRTC

  • Die RTCPeerConnection.addTrack() Methode wurde aktualisiert, um es zu ermöglichen, dass Tracks, die nicht Teil der angegebenen Streams sind, zur Verbindung hinzugefügt werden können. Stattdessen werden die Streams verwendet, um Tracks am empfangenden Ende 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 Voreinstellung browser.safebrowsing.blockedURIs.enabled gesteuert wird, hilft, die Leistung von Websites und Firefox im Allgemeinen zu verbessern, ohne einen wesentlichen Einfluss auf die Benutzerfreundlichkeit von Websites zu haben. Es trägt auch zur Stabilität des Surferlebnisses bei, indem eine Hauptursache für Abstürze beseitigt wird. Die blockierten Flash-Module umfassen mehrere, die nur zu Fingerabdruckzwecken verwendet werden, sowie eine Anzahl von "Supercookie"-Modulen, und in Zukunft kann das Spektrum der blockierten Module erweitert werden. Weitere Informationen finden Sie unter Firefox Bug 1275591.

Dies markiert den nächsten Schritt auf dem Weg zu einer zukunft ohne Plugins. HTML ist dem Punkt, an dem Plugins nicht mehr benötigt werden, sehr nahe.

HTTP

Networking

  • Die Proxy Auto-Configuration (PAC) Implementierung wurde aktualisiert. Jetzt unterstützen weekdayRange, dateRange und timeRange "umgekehrte Bereiche", zum Beispiel wird weekdayRange("SAT", "MON") als wahr ausgewertet, 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 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 präfixierte 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 unprefixierten Gegenstücke 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 ein reguläres Gradienten übersetzt)
  • 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 auf ein unprefixiertes Gegenstück abgebildet):

  • Die Schnittstelle WebKitCSSMatrix ist ein Alias von DOMMatrix

  • Die folgenden Medienabfrage-Funktionen wurden implementiert:

    • -webkit-min-device-pixel-ratio als Alias von min-resolution mit demselben Wert (in dppx), obwohl diese Funktion standardmäßig deaktiviert ist (hinter about:config-pref layout.css.prefixes.device-pixel-ratio-webkit)
    • -webkit-max-device-pixel-ratio als Alias von max-resolution mit demselben Wert (in dppx); diese Funktion ist ebenfalls standardmäßig deaktiviert, hinter demselben about:config-pref.
    • -webkit-transform-3d immer übereinstimmend, um anzugeben, dass 3D-Transformations-Unterstützung vorhanden ist.

Ä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 Methoden zum Suchen im Verlauf, zum Abrufen von Informationen über zuvor besuchte Seiten sowie zum Hinzufügen und Entfernen von Verlaufs-Einträgen.
  • Der tabs.removeCSS() Methode zur Tabs-API hinzugefügt. Diese Methode ermöglicht es Ihnen, CSS zu entfernen, das zuvor durch Aufrufen von tabs.insertCSS() eingefügt wurde.

Schnittstellen

Andere

Keine Änderung.

Ältere Versionen