HTML5离线网络应用程序无法在Android 2.x、iPhone中运行.(不过适用于Android 4.0)



尝试实现HTML5的离线功能。在谷歌上搜索了很多之后,我的代码就是这样的。(这是一个django项目;使用mod_wsgi插件部署在apache2.2中)
HTML
`

<!DOCTYPE HTML>
    <html manifest="{{MEDIA_URL}}cache.manifest">
       <head>
          <meta charset="utf-8">      
          <title>MyHomeStuff</title>      
          <script type="text/javascript" src="{{MEDIA_URL}}MyHomeStuff.js" ></script>
          <script></script>
       </head>
       <body>
         .............
       </body>
    </html>

`

Apache conf\mime.types
text/cache-manifest manifest

\Python27\Lib\mimetypes.py
'.manifest': 'text/cache-manifest',添加到types_map dict 中

(上面添加了mimetypes.py,它开始为android 4.0工作)

缓存清单
CACHE MANIFEST
index.html
MyHomeStuff.js
module/middleware

编辑:
视图.py`

def offlineApp(request):
    t = get_template('index.html')
    html = t.render(Context({'MEDIA_URL':'http://myDomain.com/site_media/'}))
    return HttpResponse(html)

编辑2
是否需要使用任何特定的text/manifest来处理CCD_12中的django

该应用程序在chrome、opera和其他桌面浏览器上运行正常;但在安卓2.x、iPhone浏览器的飞行模式下不会加载。然而,它适用于Android 4.0浏览器
可能是什么问题?请帮忙。

从谷歌小组那里得到了答案。。

从本质上讲,它告诉了这一点:

当您提供离线HTML5时,您需要提供(至少)2个页面——一个包含html的页面,以及一个完全独立的第二个包含清单的页面。清单文件具有文本/缓存清单的内容类型;您的HTML使用普通的text/HTML内容类型。

最新更新