Firefox 49 für Entwickler

Um die neuesten Entwicklerversionen 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

Entwickler-Tools

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).
  • Einleitende '?' 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, der durch Entfernen des führenden blob: gebildet wird (Firefox Bug 1270451).
  • Im Vorabrendermodus 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 die scrollbars Window Funktion aktiviert, wenn Window.open() aufgerufen wird. In der Vergangenheit war es zwar stark empfohlen, sie zu aktivieren, jedoch war sie nicht standardmäßig aktiviert (Firefox Bug 1257887).
  • Die experimentelle und nicht-standardisierte Methode HTMLMediaElement.seekToNextFrame() hinzugefügt, mit der Sie Frame-für-Frame durch Videoinhalte navigieren können (Firefox Bug 1235301). Es wird empfohlen, mit dieser Methode zu experimentieren, um uns zu helfen, zu verstehen, wie nützlich sie ist, nutzen Sie sie jedoch nicht in Produktivcode!
  • Die Eigenschaft HTMLLabelElement.form gibt jetzt das Formular zurück, dem das Steuerelement des Labels zugeordnet ist, falls ein solches Steuerelement existiert (und wenn dieses mit einem Formular verbunden ist). Zuvor waren Labels direkt mit Formularen über diese Eigenschaft 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 lautstärkebezogenen Audiowerte 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 verfügbarer 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 verfügbarer Tastencodes.
  • Die Schlüsselwerte "Separator" und "MediaSkip" wurden entfernt, da sie veraltet und unbenutzt waren (Firefox Bug 1232919).
  • Schlüsselwerte und die entsprechenden Tastencodes "Hyper" und "Super" wurden hinzugefügt, um diese veralteten Modifikatortasten darzustellen (Firefox Bug 1232919).
  • Zwei Schlüsselwerte für Multimedia-Numpad-Tasten wurden hinzugefügt: "Key11" und "Key12" (Firefox Bug 1232919).
  • Die folgenden neuen Tastenwerte wurden für die Audiosteuerungstasten 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 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 Anwendungstastendrücke wurden hinzugefügt: LaunchContacts und LaunchPhone (Firefox Bug 1232919).
  • Neue Schlüsselwerte wurden hinzugefügt, um Fernsehgeräten 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 LaunchMediaPlayer-Schlüsselwert ersetzt (Firefox Bug 1272592).
  • Zusätzliche Medienplayer-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 Worker und verwandtes

  • Das Fetch API's Response-Objekt implementiert jetzt die Eigenschaft redirected, die anzeigt, ob die Antwort für eine Anfrage, die umgeleitet wurde, ist. Bitte überprüfen 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 Dictionary-Typ nicht mehr (im Spec als PushPermissionDescriptor bezeichnet); Dies liegt daran, dass Firefox stattdessen ein Quotensystem zur Steuerung des userVisibleOnly Status verwendet hat und einen Fehler geworfen hat, wenn es auf eine PushPermissionDescriptor Instanz gestoßen ist (Firefox Bug 1266821). Mit diesem entfernten Dictionary ignoriert Firefox es nun.

Mediastreams

  • In der Vergangenheit war es möglich, dass ein Aufruf von MediaDevices.getUserMedia(), der sowohl Audio als auch Video anfordert, in Fällen erfolgreich war, in denen der Benutzer nur eine der beiden Arten von Hardware 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, erfolgreich war, auch wenn der Benutzer den Zugriff auf eines der Geräte verweigert hatte. Dies wurde behoben (Firefox Bug 802326). Dies beinhaltet auch kleine Änderungen an der Benutzeroberfläche, um die Optionen zum Wählen von "Kein Audio" oder "Kein Video" zu entfernen, wenn der Benutzer um Berechtigungen gebeten wird.
  • Die Methode MediaStream.getTrackById() wurde implementiert (Firefox Bug 1208390).

WebRTC

  • Die Methode RTCPeerConnection.addTrack() wurde aktualisiert, um Tracks zu erlauben, die keine Komponenten der angegebenen Streams sind, der Verbindung hinzugefügt zu werden. Stattdessen werden die Streams verwendet, um Tracks am empfangenden Ende der Verbindung zu gruppieren (Firefox Bug 1271669).

Neue APIs

Weitere

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 nicht notwendig sind, damit Websites gut funktionieren. Dieses Verhalten, das durch die Präferenz browser.safebrowsing.blockedURIs.enabled gesteuert wird, trägt zur Verbesserung der Leistung von Websites und Firefox im Allgemeinen bei, ohne signifikante Auswirkungen auf die Benutzbarkeit von Websites zu haben. Es trägt auch zur Verbesserung der Stabilität des Browsing-Erlebnisses bei, indem eine Hauptursache für Abstürze beseitigt wird. Zu den blockierten Flash-Modulen gehören einige, die nur für Fingerabdruck-Zwecke verwendet werden, sowie eine Reihe von "Supercookie"-Modulen, und in Zukunft könnten weitere Typen von blockierten Modulen hinzugefügt werden. Siehe Firefox Bug 1275591 für Details.

Dies markiert den nächsten Schritt auf dem Weg zu einer pluginfreien Zukunft. HTML steht kurz davor, der einzige Weg zu sein, um die Arbeit zu erledigen, ohne dass Plugins benötigt werden.

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 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 gemappt:

    • -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äfigierten 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 ein reguläres Gradient ü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 eine unpräfixelte Entsprechung abgebildet):

  • Die WebKitCSSMatrix Schnittstelle ist ein Alias von DOMMatrix

  • Die folgenden Mediaquery-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 der about:config Voreinstellung 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 derselben about:config Voreinstellung.
    • -webkit-transform-3d immer übereinstimmend, was die Unterstützung von 3D-Transformationen anzeigt.

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

WebExtensions

  • Unterstützung für die history wurde hinzugefügt. Dies bietet Zugriff auf die Browserverlauf, mit Methoden, die zum Durchsuchen des Verlaufs, zum Abrufen von Informationen über zuvor besuchte Seiten und zum Hinzufügen und Entfernen von Verlauseinträgen verfügbar sind.
  • Die Methode tabs.removeCSS() in der Tabs-API hinzugefügt. Mit dieser Methode können Sie zuvor durch Aufruf von tabs.insertCSS() eingefügtes CSS entfernen.

Schnittstellen

Weitere

Keine Änderung.

Ältere Versionen