내 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()을 사용하여
URL에 임의의 숫자를 추가하는 것이 트릭입니다. 감사! –