質問

私はビルのiphoneアプリjqtouchとしcachemanifestキャッシュのすべての静的ファイル(画像、css、javascript)での負荷になります。しかし、ページで利用しているphpの動的なコンテンツとならないようにしたいのキャッシュす。がん発生のcachemanifestこのphpスクリプト(manifest.php):

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

$hashes = "";
$lastFileWasDynamic = FALSE;

$dir = new RecursiveDirectoryIterator(".");
foreach(new RecursiveIteratorIterator($dir) as $file) {
  if ($file->IsFile() && $file != "./manifest.php" &&
    substr($file->getFilename(), 0, 1) != ".") {
    if(preg_match('/.php$/', $file)) {
      if(!$lastFileWasDynamic) {
        echo "\n\nNETWORK:\n";
      }
      $lastFileWasDynamic = TRUE;
    } else {
      if($lastFileWasDynamic) {
        echo "\n\nCACHE:\n";
        $lastFileWasDynamic = FALSE;
      }
    }
    echo $file . "\n";
    $hashes .= md5_file($file);
  }
}

echo "\nNETWORK:\nhttp://chart.apis.google.com/\n\n# Hash: " . md5($hashes) . "\n";
?>

この実際に作品に本当に良い一つの刺激のもの:

から何を読んでどこかファイルのファイルを呼び出cachemanifestはautomaticlyのマニフェストとはbeeingキャッシュされます。既に、私のいる開始ページindex.php私が話をcachemanifestはbeeingキャッシュされます。これは非常に刺激す。

がそれに対応するための他のスマートワークアラウンド?ページのcachemanifest場としてのネットワークのようにも見えこbeeing overruledしたように、cachemanifestから呼ばれます。

役に立ちましたか?

解決

futtaの考えは正しいですが、あなたはおそらく見つけることはあなたのFrontPageの唯一つのセクションが頻繁に変更されるということです。空の場合、キャッシュされたページの残りの部分を聞かせて、それについて心配していないことをしておきます。ページにアクセスすると、キャッシュされたバージョンは、瞬時に起動され、あなたは、サーバーから動的ページフラグメントを取得し、ページを完了するには、innerHTMLプロパティでそれを設定するためのスクリプトを実行することができます。効果はそれが遅くなり、かつ動的な部分がダウンロードされている間、それはまた、あなたがあなたのアプリケーションの一部を表示することができますので、まだ1つのHTTPリクエスト(プラスマニフェストに1つ)がないことです。あなたは、ページ全体をリフレッシュしたい場合は、マニフェストのコメントバージョンをマークし、全体のアプリをリロードすることをインクリメントしています。

清潔できちんとしました。私はそれがオフラインアプリで便利なものをオフラインで遊んで行うことができます唯一の方法は、すべての後にあるので、それは、システムはJavaScriptのビットを避けるためにしようとせず、使用することを意図している方法だと思います。

他のヒント

私は同じ経験がないので回避策私のtodoリスト:

  • 作成マニフェストのすべての静的資産
  • 参照が含まれるマニフェストにhtmlページ(buildCache.php)
  • 確認ウインドウです。applicationCacheは行ってはならないものと:
    • リダイレクトしたセッションcache.html の作成-チェック/アップデートのキャッシュ
    • していbuildCache.php 表示一部の情報が何をしているのapplicationCache eventlisteners)
    • していbuildCache.php リダイレクトを指数が、マニフェストが定義されていない)

い(その請求の場合はコメントを自分のブログ るすべてのページと同じドメインの静的資産のapplicationCacheある場合でも、マニフェストが参照されない全員について記入してください。

別の解決策は、実際の動的なPHPのページにユーザーをリダイレクトする、ある種の空白のロードページやスプラッシュスクリーンとしてあなたのindex.phpを維持するだろう。マニフェストは、実のindex.phpの問題が少ないanoyingされる可能性があります。

へのindex.phpとindex.phpをリダイレクトしているので、
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top