2011-02-10 2 views
1

내 AJAX 웹 앱에서 뒤로 버튼 및 새로 고침 기능을 사용하기 위해 해시 기호를 사용하려고합니다.jQuery : IE8이 .load() 호출시 요청을 보내지 않는 이유는 무엇입니까?

Firefox 및 Chrome에서 새로 고침을 클릭하면 브라우저가 모든 것을 올바르게 다시로드하고 아래 스크립트가 실행될 때 # 기호 다음에 나타나는 URL을 사용하여 새로운 요청이 이루어집니다.

IE8에서는 새로 고침 중에 요청이 수행되지 않지만 경고는 마치있는 것처럼 팝업합니다! IE8 때의 같은 동작 : http://pastebin.com/CVySwtup

샘플 코드

$(document).ready(function() { 
    // 1. AJAX history & back button 
    $(window).bind("hashchange", function (e) { 
     if (!ignoreHashChange) { 
      // Load content 
      $("#content").load(location.hash.substring(1), function() { 
       alert("content loaded!"); 
      }); 
     } 
     ignoreHashChange = false; 
    }); 

    // 2. Home page/refresh action 
    if (location.hash) { 
     $(window).trigger("hashchange"); 
    } else { 
     location.hash = "Customers/List"; 
    } 
}); 

편집

전체 HTML 문서 : 내가 여기에 게시이 단순화 된 HTML 문서에서이 문제를 재현 할 수 있습니다 $ .get()을 사용하여

답변

관련 문제