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

Testen Sie die neuesten Entwicklerfunktionen von Firefox, indem Sie die Firefox Developer Edition installieren. 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

HTML

  • Unterstützung für die <details>- und <summary>-Elemente hinzugefügt (Firefox-Bug 1226455).
  • Das pattern-Attribut des <input>-Elements verwendet jetzt den 'u'-Parameter im zugrundeliegenden JavaScript-RegExp (Firefox-Bug 1227906).
  • Um eine Spezifikationsänderung zu entsprechen, wird ein ungültiger Wert des kind-Attributs des <track>-Elements jetzt wie "metadata" behandelt, anstatt wie "subtitles" (Firefox-Bug 1269712).
  • Das sandbox-Attribut des <iframe>-Elements unterstützt jetzt die 'allow-popups-to-escape-sandbox'- und 'allow-modals'-Werte (Firefox-Bug 1190641).
  • Unterstützung für Microdata-Attribute und die Microdata-API wurde entfernt (Firefox-Bug 909633).
  • Das referrerpolicy-Attribut des <a>-Elements 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 existiert weiterhin, gibt nun aber das Formular zurück, mit dem das Steuerungselement des Labels verknüpft ist, falls vorhanden (und falls dieses Steuerungselement 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 DOMTokenList.replace()-Methode wurde hinzugefügt (Firefox-Bug 1224186).
  • Führende '?'-Zeichen werden nun im Parameter des URLSearchParams()-Konstruktors ignoriert (Firefox-Bug 1268361).
  • Der zurückgegebene Wert von URL.origin, HTMLAnchorElement.origin und HTMLAreaElement.origin 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 Prerender-Modus gibt die Document.visibilityState-Eigenschaft nun '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 die scrollbars-Window-Funktion aktiviert, wenn Window.open() aufgerufen wird. In der Vergangenheit wurde zwar dringend empfohlen, sie zu aktivieren, es war jedoch nicht die Standardoption (Firefox-Bug 1257887).
  • Die experimentelle und nicht standardisierte Methode HTMLMediaElement.seekToNextFrame(), die es ermöglicht, Bild-für-Bild durch Videoinhalte zu navigieren, wurde hinzugefügt (Firefox-Bug 1235301). Experimentieren Sie mit dieser Methode, um uns dabei zu helfen, zu verstehen, wie nützlich sie ist, verwenden Sie sie jedoch nicht in Produktionscode!
  • Die HTMLLabelElement.form-Eigenschaft gibt jetzt das Formular zurück, mit dem das Steuerungselement des Labels verknüpft ist, falls vorhanden (und falls dieses Steuerungselement mit einem Formular verknüpft ist). Früher wurden Labels über diese Eigenschaft direkt 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 für die Audio-Lautstärke relevanten 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 Tastencodes.
  • Die bisher 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 Tastencodes.
  • Die Tastenwerte "Separator" und "MediaSkip" wurden entfernt, da sie veraltet und ungenutzt waren (Firefox-Bug 1232919).
  • Tastenwerte und die entsprechenden Tastencodes "Hyper" und "Super" wurden hinzugefügt, um diese Legacy-Modifikatortasten darzustellen (Firefox-Bug 1232919).
  • Zwei Tastenwerte für Multimedia-Zahlentastatur-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 folgende Mikrofon-Steuerungstasten 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 Telefontasten 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 Tastenwerte für Mediensteuergeräte wurden ebenfalls hinzugefügt. Dies 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 redirected-Eigenschaft, die angibt, ob die Antwort für eine Anforderung ist, die umgeleitet wurde. 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-Dictionarytyp (im Spezifikationsdokument als PushPermissionDescriptor bezeichnet) nicht mehr; dies liegt daran, dass Firefox für die Steuerung des userVisibleOnly-Status stattdessen ein Kontingentsystem verwendet und einen Fehler warf, wenn es auf eine PushPermissionDescriptor-Instanz stieß (Firefox-Bug 1266821). Mit diesem entfernten Dictionary ignoriert Firefox es jetzt.

Media Streams

  • In der Vergangenheit war es möglich, dass ein Aufruf von MediaDevices.getUserMedia(), der sowohl Audio- als auch Videohardware anfordert, erfolgreich war, selbst wenn der Benutzer nur einen der beiden Typen von Hardware verfügbar hatte. Dies wurde behoben (Firefox-Bug 802326).
  • In vorherigen Versionen von Firefox war es möglich, dass ein Aufruf von MediaDevices.getUserMedia(), der sowohl Audio- als auch Videogeräte anfordert, erfolgreich war, auch dann, wenn der Benutzer den Zugang zu einem, aber nicht beiden, der entsprechenden Geräte verweigert hatte. Dies wurde behoben (Firefox-Bug 802326). Dies umfasst auch geringfügige Änderungen an der Benutzeroberfläche, um die Optionen "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 es zu ermöglichen, Tracks hinzuzufügen, die keine Komponenten der angegebenen Streams sind. 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 <altGlyph>, <altGlyphDef> und <altGlyphItem>-Elemente entfernt (Firefox-Bug 1260032).

Audio/Video

Keine Änderungen.

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 Einstellung browser.safebrowsing.blockedURIs.enabled gesteuert wird, hilft, die Leistung von Websites und Firefox im Allgemeinen zu verbessern, ohne die Benutzerfreundlichkeit der Seite erheblich zu beeinträchtigen. Es trägt auch dazu bei, die Stabilität des Browsererlebnisses zu verbessern, indem eine Hauptursache für Abstürze beseitigt wird. Zu den blockierten Flash-Modulen gehören mehrere, die nur zu Fingerabdruckzwecken verwendet werden, sowie eine Reihe von "Supercookie"-Modulen und in Zukunft können weitere Arten von blockierten Modulen hinzugefügt werden. Siehe Firefox-Bug 1275591 für Details.

Dies markiert den nächsten Schritt auf dem Weg in eine plugin-freie Zukunft. HTML ist sehr nah an dem Punkt, an dem Plugins nicht mehr benötigt werden, um die Aufgabe 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 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 entsprechenden präfixierten Eigenschaften 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 ü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 unpräfixierte Entsprechungen abgebildet):

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

  • Die folgenden Mediacquery-Funktionalitäten 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-Einstellung 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-Einstellung.
    • -webkit-transform-3d immer passend, Anzeige von 3D-Transformation Unterstützung.

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

WebExtensions

  • Unterstützung für die history wurde hinzugefügt. Diese bietet Zugriff auf den Browserverlauf, mit Methoden zum Durchsuchen des Verlaufs, zum Abrufen von Informationen über bereits besuchte Seiten sowie zum Hinzufügen und Entfernen von Verlaufs-Einträ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() eingefügt wurde.

Schnittstellen

Sonstiges

Keine Änderungen.