Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Firefox 49 Versionshinweise 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 Entwickler von Firefox und Gecko sowie für Add-on-Entwickler.

Änderungen für Webentwickler

Entwicklerwerkzeuge

HTML

  • Unterstützung für die <details> und <summary> Elemente hinzugefügt (Firefox-Bug 1226455).
  • Das [pattern]-Attribut(/de/docs/Web/HTML/Reference/Elements/input#pattern) des <input> Elements verwendet jetzt den 'u'-Parameter im zugrunde liegenden JavaScript RegExp (Firefox-Bug 1227906).
  • Um eine Änderung in der Spezifikation nachzuvollziehen, wird ein ungültiger Wert des [kind]-Attributs(/de/docs/Web/HTML/Reference/Elements/track#kind) des <track> Elements jetzt wie "metadata" statt "subtitles" behandelt (Firefox-Bug 1269712).
  • Das [sandbox]-Attribut(/de/docs/Web/HTML/Reference/Elements/iframe#sandbox) des <iframe> Elements unterstützt jetzt die Werte 'allow-popups-to-escape-sandbox' und 'allow-modals' (Firefox-Bug 1190641).
  • Unterstützung für Mikrodatensattribute und die Microdata-API wurden entfernt (Firefox-Bug 909633).
  • Das [referrerpolicy]-Attribut(/de/docs/Web/HTML/Reference/Elements/a#referrerpolicy) auf dem <a> Element unterstützt jetzt 'no-referrer-when-downgrade' und 'origin-when-cross-origin' (Firefox-Bug 1178337).
  • Das "form" Inhaltsattribut des <label> Elements wurde entfernt. Die [HTMLLabelElement.form]-Eigenschaft(/de/docs/Web/API/HTMLLabelElement/form) existiert noch, gibt jetzt jedoch das Formular zurück, mit dem das Kontrollkästchen der Bezeichnung verknüpft ist, wenn es ein Kontrollkästchen gibt (und wenn dieses Kontrollkästchen mit einem Formular verknüpft ist) (Firefox-Bug 1268852).

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 mit dem blob:-Schema 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 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 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 der Standard (Firefox-Bug 1257887).
  • Die experimentelle und nicht-standardmäßige Methode HTMLMediaElement.seekToNextFrame() wurde hinzugefügt, die es ermöglicht, framegenau 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 HTMLLabelElement.form Eigenschaft gibt jetzt das Formular zurück, mit dem das Kontrollkästchen des Labels verknüpft ist, wenn ein Kontrollkästchen vorhanden ist (und wenn dieses Kontrollkästchen mit einem Formular verknüpft ist). Zuvor waren Labels direkt über diese Eigenschaft mit Formularen verknüpft (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 mit Audio-Lautstärke zusammenhängenden 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). Sehen Sie sich Code-Werte für Tastaturereignisse für eine vollständige Liste der verfügbaren Tastencodes an.
  • 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). Sehen Sie sich Code-Werte für Tastaturereignisse für eine vollständige Liste der verfügbaren Tastencodes an.
  • 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-Modifiziertasten darzustellen (Firefox-Bug 1232919).
  • Zwei Tastenwerte für Multimedia-Ziffernblock-Tasten wurden hinzugefügt: "Key11" und "Key12" (Firefox-Bug 1232919).
  • Die folgenden neuen Tastenwerte wurden für Audiosteuerungstasten hinzugefügt: "AudioBassBoostToggle", "AudioTrebleDown" und "AudioTrebleUp" (Firefox-Bug 123919).
  • Tastenwerte wurden für diese Mikrofonsteuerungstasten 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 Standard-Tastenwert LaunchMediaPlayer ersetzt (Firefox-Bug 1272592).
  • Zusätzliche Mediaplayer-Tastenwerte wurden ebenfalls hinzugefügt. Dazu gehören MediaAudioTrack, MediaSkipBackward, MediaSkipForward, MediaStepBackward, MediaStepForward, MediaTopMenu, NavigateIn, NavigateNext, NavigateOut und NavigatePrevious (Firefox-Bug 1232919).

Canvas

  • Die Eigenschaft CanvasRenderingContext2D.filter, die Unterstützung für das Hinzufügen von Filtern zu einer Leinwand bietet, ist jetzt standardmäßig aktiviert und muss nicht mehr über eine Voreinstellung aktiviert werden (Firefox-Bug 1173545).

WebGL

IndexedDB

Service Worker und verwandtes

  • Das Objekt Response der Fetch-API implementiert jetzt die Eigenschaft redirected, die angibt, ob die Antwort für eine Anfrage ist, die umgeleitet wurde oder nicht. Bitte lesen Sie die sicherheitsbezogenen Hinweise in der Dokumentation, bevor Sie diese Eigenschaft verwenden (Firefox-Bug 1243792).
  • In der Permissions-API unterstützt Firefox den 'push' PermissionDescriptor Dictionary-Typ (in der Spezifikation als PushPermissionDescriptor bezeichnet) nicht mehr; das liegt daran, dass Firefox stattdessen auf ein Quotensystem zur Steuerung des userVisibleOnly-Status angewiesen ist und einen Fehler auslöste, wenn es auf eine PushPermissionDescriptor-Instanz stieß (Firefox-Bug 1266821). Mit dem Entfernen dieses Dictionarys ignoriert Firefox es jetzt.

Medienströme

  • In der Vergangenheit war es möglich, dass ein Aufruf von MediaDevices.getUserMedia(), der sowohl Audio als auch Video anfordert, erfolgreich war, selbst wenn der Benutzer nur eine der beiden Hardwaretypen 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, obwohl der Benutzer den Zugriff auf eines der beiden übereinstimmenden Geräte verweigert hat. Dies wurde behoben (Firefox-Bug 802326). Dies beinhaltet auch geringfügige Änderungen an der Benutzeroberfläche, um die Optionen "Kein Audio" oder "Kein Video" bei der Berechtigungsanfrage des Benutzers zu entfernen.
  • Die Methode MediaStream.getTrackById() wurde implementiert (Firefox-Bug 1208390).

WebRTC

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

Neue APIs

Sonstiges

MathML

Keine Änderungen.

SVG

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

Audio/Video

Keine Änderungen.

Plugins und Flash

Ab Firefox 49 blockiert Firefox standardmäßig bestimmte Arten von Flash-Inhalten, die für die ordnungsgemäße Funktion von Websites nicht erforderlich sind. Dieses Verhalten, das durch die Präferenz browser.safebrowsing.blockedURIs.enabled gesteuert wird, trägt dazu bei, die Leistung von Websites und Firefox im Allgemeinen zu verbessern, ohne die Benutzerfreundlichkeit der Website erheblich zu beeinträchtigen. Es trägt auch zur Verbesserung der Stabilität des Surferlebnisses bei, indem eine häufige Absturzursache beseitigt wird. Zu den blockierten Flash-Modulen gehören mehrere, die nur zu Fingerprinting-Zwecken verwendet werden, sowie eine Reihe von "Supercookie"-Modulen, und zukünftig kann diese Liste um weitere blockierte Module erweitert werden. Weitere Informationen finden Sie unter Firefox-Bug 1275591.

Dies markiert den nächsten Schritt auf dem Weg zu einer pluginfreien Zukunft. HTML ist sehr nah an dem Punkt, an dem Plugins nicht mehr erforderlich sein werden, um die Arbeit zu erledigen.

HTTP

Netzwerke

  • Die Implementierung der Proxy Auto-Konfiguration (PAC) wurde aktualisiert. Jetzt unterstützen weekdayRange, dateRange und timeRange "umkehrte Bereiche". Zum Beispiel wird weekdayRange("SAT", "MON") true auswerten, 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 prefixte 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 äquivalenten prefixed-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 unprefixed-Äquivalenten zugeordnet: -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 ü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 einem unprefixed-Äquivalent zugeordnet):

  • Die WebKitCSSMatrix Oberfläche ist ein Alias von DOMMatrix.

  • Die folgenden Medienabfrage-Features wurden implementiert:

    • -webkit-min-device-pixel-ratio als Alias für min-resolution mit demselben Wert (in dppx), obwohl dieses Feature standardmäßig deaktiviert ist (hinter about:config Präferenz layout.css.prefixes.device-pixel-ratio-webkit).
    • -webkit-max-device-pixel-ratio als Alias für max-resolution mit demselben Wert (in dppx); dieses Feature ist ebenfalls standardmäßig deaktiviert, hinter derselben about:config Präferenz.
    • -webkit-transform-3d immer passend, um 3D-Transform-Unterstützung anzuzeigen.

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

Schnittstellen

Sonstiges

Keine Änderungen.