問題タブ [html5-appcache]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-mvc-3 - ユーザーがログインしたときの HTML5 オフライン アプリの ASP .NET MVC3 の不適切な動作
HTML5 オフラインの可能性がある ASP.NET MVC3 (剃刀構文を使用) ベースの Web アプリを構築しようとしていますが、残念ながら正しく動作しません。
私はいくつかのものを使用した多くのチュートリアルを読みました。
まず、_Layout.cshtml の関連部分を次に示します。
第二に、これは私の CacheManifestHandler クラスです:
最後になりましたが、web.config ファイルに次の行を追加しました。
オフライン機能は機能しますが、主な問題は、ユーザーがオンライン モードでログオンしたときに、何も起こらなかったように見えることです。ページを少なくとも 1 回更新する必要があります。ユーザーがログインしたことがわかります。非常に面倒です。
アプリがオンライン モードでオフライン アプリケーション キャッシュを使用しないという解決策はありますか?
html - さらに奇妙な Firefox キャッシュ マニフェストの動作: 外部ドメインにリダイレクトすると 404 エラーが発生する
キャッシュ マニフェストを含む HTML5/Javascript (サーバー上の PHP/MySQL) アプリがあり、Firefox を除くほとんどすべてのモバイルおよびデスクトップ ブラウザーで問題なく動作します。
キャッシュ マニフェストを削除すると、Firefox で正常に動作します。そのため、Firefox のキャッシュ マニフェストがおかしいのですが、私にはわかりません。ファイルが Cache-Control: no-store, no-cache ヘッダーを送信しても、キャッシュからファイルをロードしています。
このファイルは、LinkedIn アクセス トークンを取得するための OAuth ダンスを処理し、次の手順に従います。
- アプリは window.location.replace('file.php') を使用して Javascript 経由でファイルを呼び出します
- file.php がロードされ、file.php?param=initiate にリダイレクトされます
- file.php?param=initiate が読み込まれ、LinkedIn からリクエスト トークンを取得し、LinkedIn 認証ページにリダイレクトされ、次に file.php?param=initiate&otherparameters にリダイレクトされます
- file.php?param=initiate&otherparameters が読み込まれ、otherparameters を使用して LinkedIn からアクセス トークンが取得され、アクセスできるようになったためアプリが再読み込みされます。
ただし、Firefox (Windows 7 の 16.0.2) では、次のようになります。
- アプリは window.location.replace('file.php') を使用して Javascript 経由でファイルを呼び出します
- file.php が読み込まれ、file.php?param=initiate にリダイレクトされます (FireBug は Status 302 Found を示し、応答ヘッダーは場所 /file.php?param=initiate を示します)。
- file.php?param=initiate をロードし、LinkedIn から要求トークンを取得しますが、LinkedIn 認証ページにリダイレクトしません: 404 ページが表示されます (FireBug は Status 302 Found を示し、応答ヘッダーは場所 https:linkedin.com/ を示します)。認証リンクが表示されますが、Firefox は LinkedIn ページに移動せず、file.php?param=initiate に対して別の GET 要求を行い、キャッシュからそれを読み込みます: ステータス 200 OK (BF キャッシュ) と 404 ページを表示します)。
file.php はキャッシュ マニフェストにありません。
基本的に、LinkedIn 承認ページに移動する必要がある手順 3 の応答ヘッダーの Location には移動しませんが、理由がわかりません。
これを修正する方法についてのアイデアはありますか?
この問題を再現したい場合は、テスト イベントへのリンクを参照してください。LinkedIn 接続要求を送信して、Firebug を監視してみてください。このイベントのすべての LinkedIn プロフィール (私のものを除く) はダミー プロフィールであるため、ランダムな見知らぬ人に LinkedIn 接続要求を送信しても心配する必要はありません。アクティベーションリンクを取得するには、最初に電子メールで登録する必要がありますが、必要に応じて使い捨ての電子メールアドレスを使用できます.
私が試したいくつかのこと:
- キャッシュ マニフェストがありません: これで解決しますが、オフライン機能が必要です
- no-store、no-cache、must-ravalidate、過去の有効期限などのさまざまな順列でヘッダーを送信します。
- キャッシュ マニフェストのエントリ数を減らす
- SETTINGS:prefer-online、NETWORK:*、NETWORK:https://*などのさまざまな組み合わせ。
html - HTML5アプリケーションキャッシュエラーイベントでエラーメッセージを取得するにはどうすればよいですか?
オフラインWebアプリのキャッシュ中に、次のようにブラウザコンソールに表示される完全に有効なエラーを受け取ります。
エラーが発生したことを通知するリスナーを追加できます。
エラーの詳細、この場合は「更新中にマニフェストが変更され、再試行をスケジュールする」を取得するにはどうすればよいですか?
html - HTML 5 キャッシュ: window.applicationCache.abort(); 動作しません
私はオフライン モードで小さなモバイル WebApp に取り組んでいます。マニフェスト ファイルが変更された場合に自動更新を防ぐ方法はありますか? ユーザーのインターネット接続が悪い場合、すべてのファイルを強制的にダウンロードする必要はありませんが、後でファイルを更新できるように、小さなメッセージが表示されます。
私は試した
しかし、うまくいきません。Safari 6.0.2 でも Chrome Canary でもありません。
ユーザーが次のコードを使用して手動で「更新」ボタンをクリックした場合にのみ、アプリはファイルを更新する必要があります。
android-webview - Android 4.0.4 - WebView - Appcache: ネットワーク セクションでワイルドカードが機能しない
マニフェストで、Web サービスへの AJAX 呼び出しはオンラインのときにのみ実行されることを明確にしたいと思います。そのためNETWORK
に、マニフェストの次のセクションを使用しました。
$.getJSON
ただし、これにより、オンラインの場合でも、リクエストごとに JQuery 関数のエラー コールバックが呼び出されます。
php - マニフェストまたは Appcache ファイルを使用して特定のブラウザー/デバイスをターゲットにしたり、デスクトップ ブラウザーから appcache を除外したりすることはできますか?
基本的に、私は自分のサイトで appcache ファイルを使用できるようにしたいと考えていますが、モバイル デバイスでのみ、これらのデバイスがオフラインで開発している Web サイト/Web アプリケーションを表示できるようにしたいと考えていますが、デスクトップ/ラップトップはしばしばインターネットにアクセスできるので、むしろこれらはサイトをそのまま表示し、マニフェスト/キャッシュなどはありません.
ユーザー エージェントのスニッフィングは信頼性が低くても、良い結果が得られる可能性があることは認識しています。これを回避できれば、それが最善です。
私が開発しているサイト/webapp は HTML/CSS/JS/PHP で構築されており、レスポンシブ レイアウトを使用して、デバイスの幅に応じてカスタマイズされたビュー/レイアウトで各デバイスにサイトの同じページを提供します (css メディア クエリを使用)。
事前に助けてくれてありがとう、これに関する私のすべての検索は特に実りがないことが証明されました:(
アップデート
以下のRobertcのコメントの後、appcache/manifestファイルを介してキャッシュを除外したいのはデスクトップブラウザー(つまり、ラップトップで使用されているのとまったく同じブラウザー)であることを明確にしたいと思います...これはクライアントからの要件であり、また、同じソフトウェア/OSを使用しているため、プログラム的にデスクトップとラップトップを一緒にターゲットにする方が簡単なようです...
より具体的には、私の webapp は、iOS、Android、および Blackberry で appcache/manifest を介したキャッシングをサポートする必要があります (ただし、すべてのタブレット/スマートフォンがあると便利ですが)。おそらく問題は、これらのデバイスの 1 つを見つけて appcache 参照を含める方法です。ただし、これは、私が避けたいと思っていたユーザーエージェントのスニッフィングへの道を進んでいるようです...
html - アプリケーション キャッシュ: 404 で appcache からファイルを提供しない
アプリケーション キャッシュを使用して、Web サイトもオフラインで動作するようにしています。
私のマニフェストは次のようになり、次を使用して埋め込まれます<iframe>
。
インターネット接続を切断すると、期待どおりに動作します->すべてがoffline.htmlページを介して提供されます。
しかし、たった今、すべての 404 (サーバー上に存在しなかった URL など) も、offline.html を表示するマニフェストの FALLBACK セクションを使用していることがわかりました。
オフラインであること (この場合、offline.html が正しい選択です) とサーバーが 404 を返すこと (この場合、404 エラーを表示したいだけです) を区別する方法はありますか?
caching - IE10 - iframe のキャッシュを防止できない
ページにモーダル ボックスがあり、動的コンテンツを iframe で開いています。
<a href="popup.php?id=52" rel="modal">Link 1</a>
(固定ID)
<a href="popup.php?id=53" rel="modal">Link 1</a>
(固定ID) ...
しかし、私が何をしても、iframe コンテンツが IE10 にキャッシュされるのを防ぐことはできません (他のブラウザーは良いようです)。
- 私はhtml5を使用しているので、メタタグは役に立ちません。
- Cache.manifest により、ページがめちゃくちゃになりました (または、単に NETWORK: * を配置する場合 - 効果なし)。
- PHP ヘッダー
header("Cache-Control: no-cache"); header("Expires: -1");
も IE10 には影響しません。 - Web で見つかった JS/JQuery ソリューションを正しく適用できませんでした。
href に別の動的 GET パラメータを追加する以外の解決策はありますか?
ruby-on-rails - rack-offline Gem:特定のファイルをキャッシュから除外する方法
Rails アプリでオフライン キャッシング用の gem ラック オフライン ( https://github.com/wycats/rack-offline ) を使用しています。
何らかの理由で、特定の HTML ファイルがオフラインでキャッシュされず、常にサーバーから読み込まれることを確認する必要があります。これは悪いことですが、私のアプリはオフラインで動作するように設計されておらず、一部を作成することを余儀なくされました (クライアントの要求! )、具体的には 3 ページだけがオフラインで動作します。したがって、これらの 3 ページのみがキャッシュされ、他の HTML ファイルがキャッシュされないようにする必要があります。
どうすればこれを達成できますか?
PS:私は宝石のGithubページを調べました.「ネットワーク」プロパティを操作することでこれを達成できると思います.しかし、方法を見つけることができません..
google-chrome - Google Chrome は、システム障害時にキャッシュ データを失います
私は、公共利用のためのインタラクティブな情報キオスクを構築しています。Chrome で Web アプリにします。オフラインで作業する必要があります。私の解決策は、ブラウザのアプリケーション キャッシュを使用することです。問題: Chrome がクラッシュ/停電時にアプリケーション キャッシュ内のすべてのコンテンツを失います。これは正常な動作ですか?! システム障害が発生した場合にコンテンツを保持する方法はありますか?
編集 2012-12-19: appcache の内容は失われず、まだそこにあります。しかし、Chrome はデータへの参照を失いました。「--restore-last-session」フラグを付けて Chrome を起動すると、キャッシュされたデータに接続されます。これは「きれいな」解決策ではありません...
明確化: 本当の問題は、停電後に Windows と Chrome が起動し、ネットワーク接続が存在しない場合です。Chrome は appcache に何もないかのように動作し、「ネットワーク接続がありません」というエラーが表示されます。なぜこのように機能するのかわかりませんか?