2010-10-07 59 views
9

HTML5離線緩存我有一個簡單的PHP驅動的網站運行,我試圖弄清楚它是如何處理PHP頁面。我的一些php文檔是路由邏輯,一些只包含單個頁面。我如何使這項工作脫機?用PHP驅動的網站

我雖然是我不得不重新創建JavaScript中的路由邏輯。這是我唯一的選擇嗎?在那種情況下,甚至有可能在網上使用php驅動網站,並在線下切換到JS?我無法理解它。

回答

5

如果您的網站是相當靜態的,HTML5的緩存清單可以讓你大多數的方式存在。讓PHP以正確的格式輸出一個cache.manifest文件,其中包含所有路由系統的URL,這些URL將本地存儲在兼容的瀏覽器中。嘗試訪問它們將盡可能將它們從緩存中提取出來。

如果你正在尋找的東西更有活力,雖然,你將不得不做更多的跑腿。

Here's some good info on offline caching.

2

請務必記住PHP是在服務器上處理的。您的PHP代碼的結果是所有發送到您的瀏覽器。您的瀏覽器完全不知道PHP甚至用於製作頁面!

如果有必須離線運行一些動態代碼,則必須使用JavaScript。如果這只是在您自己的機器上進行測試,請在您的開發機器上安裝一個運行PHP的Web服務器,並通過http://localhost訪問它。

+0

雖然清單緩存.php文件可以嗎?假設我有.php文件包含實際的PHP和一些只包含html但擴展名爲.php的文件。 – 2010-10-07 21:14:02

+3

文件擴展名與文件類型完全沒有關係。文件類型由內容類型HTTP頭確定。 – Brad 2010-10-07 21:44:35

1

HTML5離線緩存不能使您的網頁互動;它僅用於使特定頁面可以脫機。基本上,它在逐個URL的基礎上工作。如果你絕對需要離線功能,你將被迫使它在JS中工作。

此外,請確保您的清單包括所有的網頁使用的所有資源。

希望這有助於!

0

它似乎很明顯不使用任何服務器端腳本語言文件,而在你的瀏覽器緩存它。 PHP/JSP/ASP等都是服務器端語言,我們無法滿足客戶端需要動態生成的請求,最重要的是客戶端沒有運行服務器。所以,我認爲我們應該在任何時候想要做JS。