2012-07-28 6 views
5

사용자가 AJAX를 통해 페이지를 다시로드하지 않고 이용 약관을 표시 할 수있는 웹 페이지가 있습니다. 그러나 그 자체로는 아무런 문제가되지 않습니다. 그러나 나는 또한 역사 국가를 추진하려고합니다.IE 히스토리 푸시 상태

IE를 제외한 대부분의 브라우저에서 정상적으로 작동합니다. 설명 할 수없는 이유로 AJAX를 통해 내용이로드되지만 이전 페이지와 함께 새 탭이 열립니다. 이 문제를 어떻게 해결할 수 있습니까?

이 웹 페이지 (http://galaxy-battle.de)에서 예제를 볼 수 있으며 "가입"상자에서 "T & Cs"를 클릭하십시오.

+0

jsfiddle에서 수행하는 코드를 표시하여 오류를 발견하고 디버그하는 것이 더 쉬울 수 있습니까? –

+0

아, 죄송합니다, 그냥 읽으십시오. 하나 하나 만들거야. – arik

+0

죄송하지만 jsfiddle에서 작동하도록 pushState 명령을 가져올 수 없습니다. 차단하고있는 것 같습니다. – arik

답변

2

오래 된 그러나 여전히 현재의 문제에서 논의 몇 가지 해결 방법을 찾고 흥미로운 일이 될 수있다 (21)

속성 또는 메서드 'pushState' TERMS_AND_CONDITIONS, 라인 (62) 문자를 지원하지 않습니다 . 나는 단지 이 아닌을 IE에서 pushState를 에뮬레이트하려고하는 것이 좋습니다라고 말하고 싶습니다. history.pushState이 (브라우저 pushState 지원), 당신이 그것을 사용하고 멋진 자바 스크립트

  • history.pushState을 경우하여 내용을로드 null가 아닌 경우

    1. 대신 그

      , 당신은 특징 검출을 사용할 수 있습니다 null (브라우저가 pushState를 지원하지 않음), URL을 변경하거나 링크를 따라 전체 페이지를 변경하십시오.

    물론, 이것은 IE < = 9 명의 사용자가 다른 사용자가 가지고있는 멋진 애니메이션을 모두 가지지 않음을 의미합니다. 그러나 내가 물어보고 싶은 질문은 : #을 포함하는 웹 사이트의 인터넷 링크를보고 싶습니까?

    사용자는 귀하의 앱이 유용하다고 생각하고 웹에 링크를 붙여 넣을 수 있습니다. 그것은 당신에게 약간의 구글 주스를 가져 오기 때문에 멋지다. 이제 해당 사용자가 IE를 사용하고 history.js를 사용하는 경우 사용자는 해시가 포함 된 링크를 붙여 넣습니다.

    이렇게하면 앱의 공개 페이지에 대한 적절한 색인 생성을 무효화하고 추한 것처럼 보일 것입니다. 개인적으로 IE 사용자를위한 js 애니메이션 또는 라이트 박스를 사용하는 것은 그만한 가치가없는 것입니다.

  • +1

    불행하게도 비즈니스 요구 사항이 항상 개발자의 직접적인 통제하에있는 것은 아닙니다. – jaydel