Re: ブラウザキャッシュを強制クリアする方法

3,507 views
Skip to first unread message

Kazuki KANAMORI

unread,
Aug 8, 2013, 2:03:51 AM8/8/13
to angula...@googlegroups.com
こんな感じにできないかなと思ってはいるのですが、当然のことながらこれはangular だけではできません(よね?) 

私の知る限り、AngularJSだけで実現、というわけにはいかないとおもいます。
ご指摘のようにJSファイルのパスの後ろに擬似パラメータを振るだけであれば、(少し汚いですが)下記の方法でいいのではないでしょうか。

<script src="controller.js?update=20130808104500"></script>
↓ 書き換え ↓
<script type="text/javascript">
var cachebuster = Math.round(new Date().getTime() / 1000);
document.write('<scr'+'ipt type="text/javascript" src="controller.js?cb=' +cachebuster+'"></scr' + 'ipt>');
</script>


または、Gruntをお使いであれば、grunt-revでリビジョン番号をファイル名に自動的に付与して、scriptタグも書き換えた状態の
HTMLをビルドすることもできます。

以上、ご参考まで。

On Thursday, August 8, 2013 10:53:23 AM UTC+9, 永井友之 wrote:
永井です。


angularjs を使って実装しているときに




<html lang="ja">


  <head>


    <meta charset="utf-8">


    <script src="/static/js/lib/angular.min.js"></script>


    <script src="controller.js"></script> # <- このファイルに実装を書いていく


  </head>


  <body>


:


:




とかいて、デプロイ->確認しようとするとブラウザが controller.js をキャッシュしてしまっていて、最新の処理にならないことがあります。


そこで


<html lang="ja">


  <head>


    <meta charset="utf-8">


    <script src="/static/js/lib/angular.min.js"></script>


    <script src="controller.js?update=20130808104500"></script> # <-
デプロイ日時をくっつける


  </head>


  <body>


:


:


こんな感じにできないかなと思ってはいるのですが、当然のことながらこれはangular だけではできません(よね?)


サーバがページをレンダリングしたら解決できますが、せっかくの angular なのでサーバはJSONを返すだけの構成にしてます。


angular を使う上でブラウザのキャッシュを強制的にクリアするおすすめの方法はどんなのがあるでしょうか?




お知恵を拝借いただけると幸いです。




CodeFreak-開発を楽しく。

永井友之(nagai tomoyuki)
nagai_t...@code-freak.jp
電話:08022449898
住所:東京都千代田区神田佐久間町1−14 第2東ビル8F
http://code-freak.jp/
https://www.facebook.com/nagai.tomoyuki.jp
https://twitter.com/nagai7

Eiji Kitamura

unread,
Aug 8, 2013, 3:12:28 AM8/8/13
to angula...@googlegroups.com
開発時の話でしたら、単純にChrome DevToolsのキャッシュを無効にするオプションを使うのではダメですかね?


2013/8/8 Kazuki KANAMORI <yogu...@gmail.com>

--
このメールは Google グループのグループ「AngularJS Japan User Group」の登録者に送られています。
このグループから退会し、メールの受信を停止するには、angularjs-jp...@googlegroups.com にメールを送信します。
このグループに投稿するには、angula...@googlegroups.com にメールを送信してください。
このディスカッションをウェブ上で閲覧するには、https://groups.google.com/d/msgid/angularjs-jp/63ed6e3b-a46a-4bea-a154-b49f3ac2b008%40googlegroups.com にアクセスしてください。
その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
 
 



--
Eiji Kitamura | Developer Advocate | google.com/+agektmr | +81-80-1150-6480
Message has been deleted

永井友之

unread,
Aug 8, 2013, 4:11:43 AM8/8/13
to angula...@googlegroups.com
Kazuki KANAMORI さん

Gruntを使っているのでこちらで試せないかやってみますね。


Eiji Kitamura さん

そこまで気にならないとは思いますけど、最終的にユーザーが触るときも影響でるのでDevToolsだと達成できないかなと。

いろいろ有り難うございました。
CodeFreak-開発を楽しく。

永井友之(nagai tomoyuki)
nagai_t...@code-freak.jp
電話:08022449898
住所:東京都千代田区神田佐久間町1-14 第2東ビル8F
http://code-freak.jp/
https://www.facebook.com/nagai.tomoyuki.jp
https://twitter.com/nagai7


2013年8月8日 16:12 Eiji Kitamura <age...@google.com>:
> このディスカッションをウェブ上で閲覧するには、https://groups.google.com/d/msgid/angularjs-jp/CAOW%3Dx-CSvpB1R6h1GBV3fiLgFOg8iMyH7SGhwNZRhnuL5FsigQ%40mail.gmail.com
Reply all
Reply to author
Forward
0 new messages