Internet Explorer는 pushState 및 replaceState를 지원합니까?


140

Internet Explorer가 브라우저 기록조작 하기위한 history.pushState()history.replaceState()방법을 지원하는지 아는 사람이 있습니까? 이것들이 Firefox 4에서 구현되고 있다는 것을 고려할 때, 나는 숨을 쉬지 않고 있지만 IE9에 오는지 아는 사람이 있습니까?


3
IE9가 이것을 추가하지 않으면 실제로 우울합니다.
Eric Wahlforss

18
가치가있는 것을 위해 History.js 는 동일한 HTML5 API를 제공하는 한편,이를 지원하지 않는 브라우저 (예 : 데이터 및 제목 지원, replaceState 기능 포함)를 정상적으로 저하시킵니다. 이를 사용하면 IE9 변경을 위해 코드를 변경할 필요가 없습니다.
balupton

2
다른 한편으로, 일부는 해시로 되돌아가는 것에 반대한다. danwebb.net/2011/5/28/it-is-about-the-hashbangs
David Johnstone

1
@CHiRiLo : jQuery에 대한 참조를 포함해야합니다 . 이 라이브러리는 널리 사용되는 Google의 자바 스크립트 라이브러리이며 웹 사이트에서 자바 스크립트로 작업 할 때 훨씬 쉽게 사용할 수 있습니다.
awe

5
Google은 jQuery의 주요 개발자가 아닙니다 (기여했을 수도 있음). 그래도 CDN에서 호스트합니다.
trojjer

답변:


196

브라우저 호환성 정보에 대한 최상의 사이트는 아마도 CanIUse 입니다. history 섹션이 있습니다 .

요약 - IE9 : 아니 , IE10 : 예 (플랫폼 미리보기 (3) 등 없음)

IE9의 첫 번째 릴리스 후보 (2011 년 2 월 10 일 릴리스)는 history.pushState 또는 history.replaceState를 지원하지 않습니다. 일반적으로 제품이 RC 단계에 도달 한 후에는 새로운 기능이 추가되지 않으므로 최종 IE9가 이러한 방법을 지원할 가능성은 거의 없습니다.

Microsoft는 IE9의 기능 을 개발자 에게 잘 보여줍니다 .

업데이트 : Internet Explorer 9는 2011 년 3 월 14 일에 시작되었으며 확실히 또는을 지원하지 않습니다 .history.pushState()history.replaceState()

업데이트 2 : IE10 의 현재 플랫폼 미리보기는 여전히 pushState / replaceState를 지원하지 않습니다 .

업데이트 3 : IE10의 Platform Preview 3 는 기록 API를 지원합니다! 세부


현재 IE10 기록에는 버그 가있어 쓸모가 없으며 popstate 이벤트는 발생하지 않습니다. 자세한 내용은 여기 : stackoverflow.com/questions/14698299/…
citykid

17

IE9는이를 지원하지 않습니다.

그러나 Polyfill을 사용하여 해결 방법을 사용하여 기능을 사용할 수 있습니다-History.js https://github.com/browserstate/history.js .

Modernizr은 HTML 5 Polyfill을 https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills 에서 잘 작성했습니다 .

주의 할 점은 HTML 4 기능 만 지원하는 브라우저에서 URL에 쿼리 문자열을 추가한다는 것입니다.


위의 질문에 대한 의견으로, popstate는 IE10에서 실행되지 않습니다
Mandeep Jain

History.js는 IE 9 이하를 지원해야하는 경우 좋은 솔루션이지만 23KB로 축소되었습니다. 몇 가지 방법 만 지원하면됩니다.
Neil Monroe


0

그러나 pushState ()의 절대 경로로 인해 이러한 오류가 발생할 수 있습니다. 상대 경로를 설정하면 오류가 사라졌습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.