2012-05-20 2 views
0

북마크 및 브라우저 뒤로 버튼 사용을 허용하기 위해 "기록"플러그인과 함께 jQuery 탭 플러그인을 사용하고 있습니다. 모든 것은 잘 작동합니다 - IE 6 및 7에서는 예외입니다. 페이지를로드하면 IE는 앵커로 점프합니다. http://coolkidz.com/sell-consign/jQuery 도구 탭 + 기록 - IE 6 및 7에서 점프 방지

어떤 아이디어 IE는 잘 작동하도록 얻을 :

여기에 예를 구현입니까?

+1

IE가 js 오류를 알리지 않았습니까? 41 행, char 6 –

+0

또한 1 행, jquery.tools.min.js의 char 1 나는 당신이 그 오류를 먼저 고쳐야한다고 생각한다. 그럴 가치가있는 것이 무엇인지 –

+0

, Firefox 3.6에서 페이지가 깨져 보인다. (그리고 Mozilla의 최선의 노력에도 불구하고 아직도 그것을 사용하는 사람들이있다.) – Spudley

답변

1

Internet Explorer 6/7에서 기록 도구를 사용하면 숨겨진 iframe이 페이지에 추가되고 처음에는 iframe의 location.hash'#'으로 설정됩니다. 이런 일이 발생하면 IE는 페이지의 맨 아래에있는 iframe으로 스크롤합니다 (숨겨져 있지만). JQuery와 도구 소스를 편집 할 수있는없이

, 나는 두 가지 해결 방법을 생각할 수 있습니다

  1. 당신이 jQuery를 도구 탭을 초기화하기 전에이 자바 스크립트를 추가 (demo를)

    if ($.browser.msie && $.browser.version < '8') { 
        $(window).one("hash", function(e, h) { 
         if (h === '#') { 
          $(window).scrollTop(0); 
         } 
        }); 
    } 
    

    이 스크롤 기록 도구가 초기화 된 후 페이지 상단으로 이동합니다. 이 해결 방법의 단점은 윈도우가 페이지 상단에 없으면 IE가 올바른 위치에 머물러 있었지만 위쪽으로 스크롤해야한다는 것입니다.

  2. 추가이 CSS (demo) :

    iframe { 
        position: absolute; 
    }​ 
    

    IE는 position: absolute은 iframe로 이동하려고하지 않습니다. 이 해결 방법의 단점은 페이지의 다른 iframe에 영향을 미친다는 것입니다.

해결 방법 # 1로가는 것이 좋습니다.

+0

빠른 응답을 보내 주셔서 감사합니다! 나는 그것을 시험하고보고 할 것이다! –

+0

JS 수정이 실제로 작동해야하는 것처럼 보입니다. - 일부 점프가 발생합니다. 나는 iframe 픽스를 선택했는데, 그것은 훌륭한 생각입니다. 나는 앞쪽으로 가서 .inner div 안의 iframe을 타깃으로하고 특히 IE7과 IE6에 targetting을 남겼다. 그것은 아름답게 작동합니다! –

+0

나는 너무 일찍 말을했다. IE는 나를 속이고 있었다. 나는 시험을 새로 치고 있었고, 이미 내가 정상에 스크롤되어 있었기 때문에 작동하는 것으로 보였다. 테스트하는 가장 좋은 방법은 http://coolkidz.com/about에서 링크를 클릭 한 다음 뒤 따르는 것입니다. # 1은 "작동 중"이지만 점프 효과와 최종 사용자 측에서 발생하는 화면의 상쾌감은 그것을 잘라 내지 않을 것입니다. 나는 더 시험 할 것이다. –