2012-10-11 114 views
2

客戶端是否可以在服務器端請求後存儲網頁的本地副本,而無需手動保存網頁(右鍵單擊並另存爲...)?創建網頁的本地副本

我有多個客戶端,顯示來自服務器的網頁循環。每個頁面都有不同的媒體文件,如圖像和swf。作爲默認緩存機制的替代方案,我希望客戶端在從服務器首次加載網頁期間將網頁的副本存儲到客戶端的本地。這樣我就可以減少循環加載網頁請求時來自客戶端的請求。

每當內容發生變化時,服務器會通知客戶端再次請求頁面並覆蓋客戶端的本地副本。

+0

你是指從瀏覽器內或一般?你可以使用'wget'。 –

+0

在PHP中http://simplehtmldom.sourceforge.net/ – elclanrs

+0

@FelixKling在瀏覽器內?我已經嘗試過AppCaching,但是我僅限於使用IE9,這就是爲什麼我需要實施Google Chrome框架以使用IE9和GoogleChromeFrame啓用AppCaching。 – Warren

回答

1

嗯,你可以做這樣的事情:

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

這當然會,只是在支持localStorage的現代瀏覽器。沒有其他瀏覽器API可以提供存儲大量數據的方式。餅乾太小。你可以使用window.name作爲替代,但這比其他任何東西都更加黑客。

document.querySelector當然可以替換爲document.getElementsByTagName('html')[0],但是隻要使用querySelector,因爲它支持localStorage。