使用JavaScript搜索的离线HTML5网站

时间:2012-10-18 11:30:46

标签: javascript html5

我正在构建一个简单的网站,如果需要,需要能够完全脱机运行。目的是成为一个50多页的可搜索参考手册。

我需要在打开一个页面时缓存整个网站。我正在使用appcache清单执行此操作并使网站缓存并在离线移动设备上查看似乎正常工作。

该网站有一个基本的JavaScript搜索工具(这是一个免费下载),而在线这个搜索工作完美。一旦互联网连接停止并且使用了缓存版本,搜索就不再起作用,显示以下两种症状之一:单击按钮并且没有任何反应或2.“无法找到网页”显示错误类型。< / p>

1 个答案:

答案 0 :(得分:2)

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

  

永远不要使用传统的GET参数访问缓存文件(例如   其他缓存-page.html中?参数名称=值)。这将使   浏览器绕过缓存并尝试从网络获取缓存。要链接   缓存在JavaScript中使用解析参数的资源   链接的哈希部分中的参数,例如   其他缓存-page.html中#任何?参数名称=值。

但这正是你的js-search所做的。它试图使用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);