1

基本的に、私は自分のサイトで appcache ファイルを使用できるようにしたいと考えていますが、モバイル デバイスでのみ、これらのデバイスがオフラインで開発している Web サイト/Web アプリケーションを表示できるようにしたいと考えていますが、デスクトップ/ラップトップはしばしばインターネットにアクセスできるので、むしろこれらはサイトをそのまま表示し、マニフェスト/キャッシュなどはありません.

ユーザー エージェントのスニッフィングは信頼性が低くても、良い結果が得られる可能性があることは認識しています。これを回避できれば、それが最善です。

私が開発しているサイト/webapp は HTML/CSS/JS/PHP で構築されており、レスポンシブ レイアウトを使用して、デバイスの幅に応じてカスタマイズされたビュー/レイアウトで各デバイスにサイトの同じページを提供します (css メディア クエリを使用)。

事前に助けてくれてありがとう、これに関する私のすべての検索は特に実りがないことが証明されました:(

アップデート

以下のRobertcのコメントの後、appcache/manifestファイルを介してキャッシュを除外したいのはデスクトップブラウザー(つまり、ラップトップで使用されているのとまったく同じブラウザー)であることを明確にしたいと思います...これはクライアントからの要件であり、また、同じソフトウェア/OSを使用しているため、プログラム的にデスクトップとラップトップを一緒にターゲットにする方が簡単なようです...

より具体的には、私の webapp は、iOS、Android、および Blackberry で appcache/manifest を介したキャッシングをサポートする必要があります (ただし、すべてのタブレット/スマートフォンがあると便利ですが)。おそらく問題は、これらのデバイスの 1 つを見つけて appcache 参照を含める方法です。ただし、これは、私が避けたいと思っていたユーザーエージェントのスニッフィングへの道を進んでいるようです...

4

1 に答える 1

3

ブラウザは他のすべてが発生する前に Appcache.manifast をチェックするため、サーバー側で追加の検出を行う必要があります。javascript で appcache.manifest を読み込めません。

Useragent でサーバー側の検出を行い、iphone、ipad、android などからリクエストを受け取った場合はマニフェスト付きの HTML を配信し、それ以外の場合はマニフェストなしで配信します。

ユーザー エージェントの確認が最善の方法です。ユーザーエージェントを偽造しない人のためにサイトを配信します。

モバイル デバイス用の php を使用したユーザー エージェント テスト (必要なデバイスを追加するだけです):

于 2012-12-11T08:37:31.967 に答える