2013-10-06 2 views
0

아약스 웹 사이트를 만들려고합니다. 직관적 인 방법은 jquery .html() 메서드를 사용하여 컨테이너 내용을 새 내용으로 바꾸는 것입니다.Ajax : 다른 div의 컨테이너 대로드 내용 바꾸기?

그러나 사용자가 A와 B를 방문한 다음 A를 다시 방문하면 A를 다시로드하는 두 번째 조작이 불필요한 것으로 간주합니다.

또 다른 방법은 새 div에 ajax 콘텐츠를로드하고 어떻게 든 원본 콘텐츠를 숨기는 것입니다. 그러나 그것은 나에게는 꽤 수동적 인 것처럼 보입니다. 그리고 이것을 잘 처리 할 수있는 좋은 프레임 워크 나 플러그인이 있는지 궁금합니다. 그리고 dom 요소가 계속 증가하기 때문에이 경우 성능 문제가 있습니까?

답변

1

Ajax 요청을 캐시 할 수 있으므로 클라이언트 자바 스크립트는 콘텐츠가 필요할 때마다 서버를 요청하지 않습니다. 예 : in jQuery :

$.ajaxSetup({ cache: true }); 

캐싱 요청은 실제로 jQuery의 기본 설정이므로 항상 응답을 캐시합니다.

+0

Google 크롬은 아약스 콘텐츠를 캐시하지 않는 것으로 보이지만 IE10은 기본적으로 않습니다. – jacouh

0

jQuery를 사용하여 Google 크롬은 아약스 콘텐츠를 캐시하지 않는 것으로 보이지만 IE10은 실제로 기본적으로 않습니다.

는 일반적으로 동적 컨텐츠의 이중 로딩을 방지하기 위해, 우리는 사업부 아이디 = "mydiv"이 같은 원시 방법을 사용하십시오로드

if($("#mydiv").get(0).loaded) 
{ 
} 
else 
{ 
    $("#mydiv").get(0).loaded = true; 
    // 
    // here we load ajax content for mydiv: 
    // 
    ... 
} 

는 사용자가 자바 스크립트 속성을 추가입니다 임시 jQuery 객체가 아닌 mydiv의 영구 DOM 요소 객체.

관련 문제