web-dev-qa-db-de.com

Unterstützt Internet Explorer PushState und replaceState?

Weiß jemand, ob der Internet Explorer die Methoden history.pushState() und history.replaceState() zur Manipulation des Browserverlaufs unterstützt? Wenn man bedenkt, dass diese Funktionen gerade in Firefox 4 implementiert werden, halte ich nicht den Atem an, aber weiß jemand, ob sie in IE9 kommen?

137
David Johnstone

Die beste Site für Informationen zur Browserkompatibilität ist wahrscheinlich CanIUse . Hier ist der Abschnitt über Geschichte .

Zusammenfassung - IE9: nein, IE10: ja (ab Plattformvorschau 3)

Der erste Release Candidate von IE9 (veröffentlicht am 10. Februar 2011) unterstützt weder history.pushState noch history.replaceState. Im Allgemeinen werden keine neuen Funktionen hinzugefügt, nachdem ein Produkt auf die RC-Stufe gebracht wurde. Daher ist es sehr unwahrscheinlich, dass der endgültige IE9 diese Methoden unterstützt.

Microsoft hat eine gute Übersicht für Entwickler der Features von IE9.

Update: Internet Explorer 9 wurde (am 14. März 2011) gestartet und unterstützt definitiv history.pushState() oder history.replaceState() nicht.

Update 2: Die aktuelle Plattformvorschau von IE10 unterstützt weiterhin nicht pushState/replaceState .

Update 3: Platform Preview 3 von IE10 unterstützt die History-API!Einzelheiten

193
dave1010

IE9 unterstützt es nicht.

Sie können jedoch eine Problemumgehung mit einem Polyfill ausführen, um die Funktionalität zu erhalten - History.js https://github.com/browserstate/history.js .

Modernizr macht einen guten Job mit HTML 5 Polyfills hier https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills .

Der Nachteil ist, dass in Browsern, die nur HTML 4-Funktionen unterstützen, eine Abfragezeichenfolge zu Ihrer URL hinzugefügt wird.

17

Internet Explorer 10 führt die Unterstützung für die History-Schnittstelle der HTML5-Entwurfsspezifikation ein, die Methoden enthält, mit denen Sie den History-Stack und die URL eines Standorts verwalten können.

Der ursprüngliche Link: https://msdn.Microsoft.com/en-us/library/ie/hh920758(v=vs.85).aspx

0
QC-cheetah

Übrigens können Sie einen solchen Fehler aufgrund des absoluten Pfads in pushState () erhalten. Wenn ich den relativen Pfad eingestellt habe, war der Fehler verschwunden.

0
f0rmat1k