나는 hijaxing을 위해 다음 jquery를 사용합니다. 그것은 대부분의 링크가 하이재킹을 원하지만, "nohijax"클래스를 가짐으로써 "옵트 아웃"하지 않는 사람들을 허용한다는 점에서 매우 깔끔합니다. 가끔씩 실패하는 이유는 무엇입니까?좋은 hijax가 가끔 실패합니다
$("#content a:not(.nohijax), #footer a:not(.nohijax)").live("click", function() {
$.get($(this).attr("href"), function (response) {
$("#content").replaceWith($("#content", response));
});
return false;
});
그것은 내 컴퓨터에서 IE9에서 크롬 100 %, 100 % 작동하지만 다른 컴퓨터에서 IE에서 자주 실패합니다. 실패는 일관성이 없습니다. "실패한"컴퓨터 일지라도 대부분의 경우 하이재킹이 작동하지만 갑자기 클릭 한 링크는 이전 내용이 새로운 내용으로 대체되지 않으므로 "아무 것도하지 않는"것처럼 보입니다. '새 탭에서 열기'는 항상 작동하여 새 콘텐츠가 실제로 전송되었음을 나타냅니다.
여기에서 문제를 조사하려고했습니다. 하나는 .lot()을 사용하여 .not()을 사용할 때 조심해야하지만, 나는 그것이 옳다고 믿는다. 또한 대체 된 요소 (여기서는 id가 "content"인 div)는 본문 요소의 직접 하위 요소가 아니어야합니다. 그것은 (중간에 다른 div가 있음) 아닙니다.
명백한 하울러가없는 경우 어떻게 진행되고 있는지 추적 할 수 있습니까? (나는 자바 스크립트와 브라우저 개발에 익숙하지 않다.) 고맙습니다.
덕분에, 그것은 바른 길에 나를 넣어 가지고 있는데 짓을했는지 .live() 대신 .on()을 사용하는 약간의 테스트. jQuery 1.7에서이를 대체합니다. 멋지게 작동하지만 원래 컨텍스트에서 다시 확인할 시간이 없었습니다. 문제가 해결되었는지 여부를 다시 알려 드리겠습니다. console.log 팁도 가져 주셔서 감사합니다. 죄송합니다. 아직 답변을 드리지 못했습니다. – EyeNine