1

いくつかのページと他のアセット(js、cssなど)を含むjqmマルチページドキュメント(index.html)があります。html、css、およびjsファイルにetagを使用するようにサーバーを構成しています。要求/応答ヘッダーは適切に設定され、期待どおりに機能します。

私のアプリケーションの使用中は、index.htmlへのリクエスト(サインオフを除く)がないため、ブラウザーが新しいファイルがあるかどうかを確認する機会は実際にはありません。もちろん、すべてのcssとjsファイル(ユーザーがサインオフするか、ページを再度要求するか、更新を行わない限り)。新しいソフトウェアをデプロイする場合、新しいソフトウェアが利用可能であることをユーザーに通知したり、何らかの方法でindex.htmlファイルを強制的に更新したりするにはどうすればよいですか?

私の最初の考えは、バージョン番号をクライアントに保存し、定期的にサーバーにajaxリクエストを送信してバージョン番号を確認することでした。新しいソフトウェアが利用可能な場合は、新しいソフトウェアをユーザーに通知するためのリンクを表示し、リンクをクリックして取得します(index.htmlをリロードします)。

他の人がこれをどのように行っているのか興味がありますか?考え?推奨事項?

4

1 に答える 1

-1

複数ページのドキュメントにリンクする場合は、リンクで data-ajax="false" 属性を使用して、ハッシュ衝突の可能性があるため Ajax リクエストで最初のページ ノードのみをロードするという上記の制限により、ページ全体を更新する必要があります。 . 現在、複数ページのドキュメントを読み込めるようにするサブページ プラグインがあります。

参照: http://jquerymobile.com/demos/1.1.0/docs/pages/page-navmodel.html

これも見てください:

Ajax ナビゲーションが使用されないケース

特定の条件下では、Ajax リクエストの代わりに通常の http リクエストが使用されます。これが当てはまる 1 つのケースは、外部 Web サイトのページにリンクする場合です。次のリンク属性を使用して、通常の http 要求を行うように指定することもできます。

rel=外部

ターゲット (「_blank」などの任意の値)

ページが Ajax ではなく http リクエストとして読み込まれると、問題は解決します。

于 2012-05-10T08:17:16.207 に答える