OnsenUI(AngularJS)にてページ遷移のキャッシュを無効にする


私のサイトではリファラーから送信するページを選択するという。とても面倒で不安定な仕組みを使っているのですが、OnsenUIでいろんなアプリを作っていると、同じURLのページをアクセスすると別アプリのhtmlが取得されてしまうという…

まあつまりOnsenUIのページ遷移にてキャッシュを無効にしないといけなくなったので無効にしてみました。

さて、いろいろ探っていたのですが、OnsenUIではAngularJSのXHRをそのまま利用しているみたいで、AngularJSの側もキャッシュコントロールの機能はないみたいなのでJavascriptコードに直接埋め込んであげる必要があるみたいです。

angular.jsを開き、9597行の

の直後に下の3行を入れてください。

ちなみに一番下のIf-Modified-SinceはIE対応のために必要です。

これでキャッシュは無効化されたはずです。
欠点はAngular.jsからのAjax通信がすべてキャッシュ無効になってしまうことですね。まあ、そんな重いものをリクエストしない限り問題無いと思います。

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">