2009-12-02 20 views
6

PHPを使用してiPhone webappを構築しました。主なページには、apple-mobile-web-app対応のapple-touch-fullscreenメタタグが含まれています。これにより、一度ホーム画面に追加するとフルスクリーンで表示できます。しかし、ホームスクリーンからアプリを起動するたびに、ページのキャッシュバージョンがページをリフレッシュする代わりに使用されます(もちろん、スタートアップ時に更新するページが必要です。ここでAjaxを使用することはできません。 SSO phpCASでユーザを動的に認証します)。私はマニフェストファイルを使用せず、成功していないキャッシュに関するメタタグを追加しようとしました。誰もがこれを修正する方法を知っていますか?iPhone Web Appキャッシュを無効にする

おかげ

答えて

3

メタどんなタグを使用するには、試してみましたか?

<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE"> 
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE"> 

Safariにキャッシュしないように指示する必要がありますが、試していません。

javascriptを使用すると、URLを一意にする任意の標準的な手法(乱数の追加など)を使用して、キャッシュされたページから「実際の」スタートアップページを読み込むことができます。

これは、メインのスタートアップページでも機能するかもしれませんが、私はそれを疑っています。しかし、試してみる価値がある。

未検証の提案:

window.onload = function() { 
    if (navigator.standalone) { 
    document.location.href = 'http://your.com/whatever.php?randomjunk=1234') } 
} 

ページがブラウザであればそれが与えることができるの指示


は、私はそれが踏み台の上にある場合にのみ、キャッシュされたページは新しいページをロード示唆しますホーム画面に保存すると、ホーム画面から実行された場合、実際のページが読み込まれます。

+0

感謝をお読みください。 はい、あなたが言及したメタタグを試しましたが、まだキャッシュを読み込んでいます。これは、apple-mobile-web-app-capableというタグがYESに設定されている場合にのみ発生します(Webをフルスクリーンで表示したいので、これが必要です)。ランダムに生成されたトークンをURLに追加するとこれを修正できますが、これはリダイレクトを意味します。Safari Mobileではホームページ(これはトークンを追加した後にリダイレクトされます)をブックマークすることはできません。私が何を意味するかを見てください... 最高 – Benoit

+0

テストされていないバージョン(window.onload .....)はうまくいきます!唯一の悪い点は、毎回発行するたびに変更する必要があることです。あなたが行くページにiframeを使用し、ユーザーに表示したい実際のページにリダイレクトするページを埋め込みます。それから、ページにリダイレクトするページを変更するhtaccessがありますか?randomJunkと完全に動作するようにhtaccessをキャッシュしません。 –

2

メインページが自動的にキャッシュされるマニフェストファイルを含めるとわかりますが、使用しているときに発生したとは思われませんでした。キャッシュマニフェストファイルを使用して、このキャッシュ方法から明示的に除外する "Network:"の下にページを表示しようとしましたか?もしこれがなければヘッダーとメタ情報と一緒にする必要があります。

-1

あなたは以下のようにHTML5のキャッシュマニフェストを使用する必要があります

<!DOCTYPE HTML> 
<html manifest="cache.manifest"> 
<head> 

助けるため、ここでのAppleのドキュメントについてHTML5 Offline Application Cache

関連する問題