Internet Explorer는 pushState 및 replaceState를 지원합니까? 사람이 있습니까? 이것들이

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



답변

브라우저 호환성 정보에 대한 최상의 사이트는 아마도 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를 지원합니다! 세부


답변

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에 쿼리 문자열을 추가한다는 것입니다.


답변

Internet Explorer 10에는 HTML5 초안 사양의 기록 인터페이스 지원이 포함되어 있으며 여기에는 사이트 기록 기록 및 URL을 관리 할 수있는 방법이 포함되어 있습니다.

원래 링크 : https://msdn.microsoft.com/en-us/library/ie/hh920758(v=vs.85).aspx


답변

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