네 - 자신의 웹 사이트에 그들이 말하는 :
조금 다르게 때로는 서로 다른 행동과 버그를 일으키는 모든 HTML5 브라우저에 대한 상호 호환 경험을 (그들은 모든 HTML5> 역사 API를 구현 제공 -> 역사 .js가이를 수정하여 HTML5 브라우저에서 경험할 수있는/예상되는대로 경험할 수 있음)
이러한 차이는 작고 검색하기에 충분하지 않았습니다. 소스 코드를 살펴 보았습니다. - 주요 사파리가 사파리에서 HTML5 기능을 수정하고있는 것으로 보입니다. 사파리 구현에는 두 가지 문제점이 있습니다. 하나는 history.back이 history.hash에 의해 설정된 hash.h 상태로 돌아 가지 않고 history.replaceState로 교체되는 것입니다.
두 번째는 바쁜 사파리가 상태 변경을 적용하지 못할 때입니다.
관련 History.js 소스 코드 :
History.bugs = {
/**
* Safari 5 and Safari iOS 4 fail to return to the correct state once a hash is replaced by a `replaceState` call
* https://bugs.webkit.org/show_bug.cgi?id=56249
*/
setHash: Boolean(!History.emulated.pushState && navigator.vendor === 'Apple Computer, Inc.' && /AppleWebKit\/5([0-2]|3[0-3])/.test(navigator.userAgent)),
/**
* Safari 5 and Safari iOS 4 sometimes fail to apply the state change under busy conditions
* https://bugs.webkit.org/show_bug.cgi?id=42940
*/
safariPoll: Boolean(!History.emulated.pushState && navigator.vendor === 'Apple Computer, Inc.' && /AppleWebKit\/5([0-2]|3[0-3])/.test(navigator.userAgent)),
그래서 내가 당신의 결정이 내려 사파리 5, 사파리 IOS 4
에 대한 관심 여부에 오는 생각은 유용한 연구 주셔서 감사합니다. 사파리 버그는 우리를위한 딜 브레이커가 아니므로 우리는 네이티브'window.history'를 고수하고 있습니다. 그러나 브라우저의 차이점이 있습니다 (가장 주목할만한 것은 [window.onpopstate가 호출 될 때]입니다) (http://stackoverflow.com/questions/3700440/html5-onpopstate-on-page-load)) 그래서 우리는 그것들을 코드화해야했다. – jamix