2012-10-11 4 views
2

웹 페이지를 수동으로 저장하지 않고 클라이언트 쪽에서 웹 페이지의 로컬 사본을 저장할 수 있습니까? (마우스 오른쪽 버튼으로 클릭 + 다른 이름으로 저장 ...)?웹 페이지의 로컬 복사본을 만듭니다.

서버에서 오는 웹 페이지 루프를 표시하는 클라이언트가 여러 개 있습니다. 각 페이지에는 이미지 및 swf와 같은 다른 미디어 파일이 있습니다. 기본 캐시 메커니즘의 대안으로, 클라이언트 쪽에서 서버의 웹 페이지를 처음로드하는 동안 웹 페이지의 복사본을 클라이언트 쪽 로컬에 저장하고 싶습니다. 그렇게하면 루프가 웹 페이지 요청을로드 할 때마다 클라이언트에서 오는 요청을 줄일 수 있습니다.

콘텐츠가 변경 될 때마다 서버는 클라이언트 쪽에서 페이지를 다시 요청하고 클라이언트 쪽의 로컬 복사본을 덮어 씁니다.

localStorage['this_page'] = document.querySelector('html').innerHTML; 

이 의지 물론, 단지 로컬 스토리지를 지원하는 최신 브라우저에서 작동 :

+0

브라우저 또는 일반적으로 의미 하시겠습니까? 'wget'을 사용할 수 있습니다. –

+0

PHP에서 http://simplehtmldom.sourceforge.net/ – elclanrs

+0

@FelixKling in the browser? 나는 AppCaching을 시도했지만, IE9를 사용하는 것으로 제한되어 있으므로 Google 크롬 프레임을 IE9를 사용하여 AppCaching을 사용하려면 Google 크롬 프레임을 구현해야합니다. – Warren

답변

1

글쎄, 당신이 뭔가를 할 수 있습니다. 많은 양의 데이터를 저장하는 다른 브라우저 API는 없습니다. 쿠키가 너무 작습니다. 당신은 대안으로 window.name을 사용할 수 있지만, 그것은 다른 어떤 것보다 더 해킹입니다.

document.querySelector는 물론 document.getElementsByTagName ('html') [0]으로 대체 할 수 있지만 지원되는 곳은 localStorage이므로 querySelector를 사용하십시오.

관련 문제