将Appcache与CodeIgniter一起使用

时间:2013-09-30 06:33:58

标签: php codeigniter offline html5-appcache cache-manifest

一直试图让Appcache与CI一起工作几个小时,但仍然无法正常工作。

背景:

我正在使用IIS服务器。我已经通过将清单文件和需要缓存的php文件放在一个简单的文件夹中测试了Appcache,它运行正常,所以我很确定服务器环境是好的。

说我要缓存

下面的网址

http://mydomain.com.au/myapp/index.php/test/index

这是我的manifest.php(我不知道哪一个会起作用,所以我在CACHE下放了2行,它们都引用相同的视图文件)

<?php
    header('Content-Type: text/cache-manifest');
    echo "CACHE MANIFEST

    CACHE:
    index.php
    http://mydomain.com.au/myapp/index.php/test/index
    ";
?>

下面是我在视图文件夹中放置的视图文件(index.php)

<!DOCTYPE HTML>
<html manifest="manifest.php">
  <body>
    this is a test
  </body>
</html>

问题是,我应该把这个清单文件放在哪里?我应该在CACHE下列出什么文件?如果我想在app中使用appcache,是否需要遵循任何例程?

我已经尝试将它放在公共文件夹(应用程序文件夹之外)的同一个视图文件夹中,但没有运气。

提前谢谢。

1 个答案:

答案 0 :(得分:2)

您可以使用Manifest方法创建index()控制器,并使/index.php/manifest返回CACHE MANIFEST文档(带有相应的标题)。

然后在页面上包含

<html manifest="/myapp/index.php/manifest">

附加说明:

  • app cache与url一起使用,而不是文件 - 所以它不知道index.php和index.php / index(etc)是“同一个文件”。
  • 如果html文件包含清单,则该文件会自动缓存,因此您不必在CACHE:指令中明确包含该文件。 (您只需要明确列出其他css / js文件等)
  • 清单中的
  • ,不要使用完整的URL( http:// ... ),只使用路径本身( / myapp / index ... )。
  • 我强烈建议您再次阅读Application Cache文档,以确保您已正确理解所有内容。正确工作真的很棘手。