2012-10-18 94 views
1

我建立一個簡單的網站,需要能夠完全脫機如果需要的運行。目的是成爲一個50多頁的可搜索參考手冊。離線HTML5網站使用JavaScript搜索

我需要整個網站當打開一個頁面進行緩存。我正在用appcache清單來做這件事,並讓網站緩存並在離線手機上查看,似乎工作正常。

該網站有一個基本的JavaScript搜索工具(這是一個免費軟件下載),並同時在網上搜索這個完美的作品。一旦互聯網連接停止,緩存的版本中使用的搜索不再起作用,顯示兩個中的一個症狀1.單擊按鈕卻沒有任何反應或2. A「網頁無法找到」顯示錯誤的類型。

這個網站的基本開發版本可以發現如下:

http://www.filemanage.co.uk/offline/index.html

我不知道如何調試JS和不知道問題出在哪裏,因此任何幫助,將不勝感激。

回答

2

https://developer.mozilla.org/en-US/docs/HTML/Using_the_application_cache#Gotchas

報價永遠不能訪問通過使用傳統的GET參數(如 其他緩存-page.html中?參數名稱=值)高速緩存文件。這將使 瀏覽器繞過緩存並嘗試從網絡獲取它。要鏈接 到具有在JavaScript解析在鏈接的散列部使用 參數參數緩存的資源,如 其他緩存-page.html中#什麼?參數名稱=值。

但是,這是你的JS-搜索究竟是幹什麼的。它嘗試使用XHR加載像這樣的「http://www.filemanage.co.uk/offline/index.html?1350563635665」這樣的子頁面。

作爲修復試試這個

// change in function sendRequest line 228 from 
this.httpRequest.open("GET", uri+"?"+q, true); 
// to 
this.httpRequest.open("GET", uri, true); 
+1

P.S:使用[螢火](https://getfirebug.com/)調試你的JS –

+0

啊,使很多意義!我會立即更新並回復。謝謝! – Ryan

+0

好吧,我改變了這一行。現在搜索什麼都沒做。我有我一直使用的FireBug,但不知道如何使用它來調試JS,只知道我可以查看JS。 – Ryan