angularJsでブラウザキャッシュをクリアする方法

亚连
リリース: 2018-06-23 17:31:47
オリジナル
1684 人が閲覧しました

この記事では、angularJs でブラウザのキャッシュをクリアする方法を主に紹介します。編集者が非常に優れていると考えたので、参考として共有します。エディターをフォローして見てみましょう

キャッシュの章

キャッシュは、将来リクエストをより速く処理できるようにデータを透過的に保存できるコンポーネントです。繰り返しリソースを取得すると、データの重複が発生し、時間がかかる場合があります。したがって、キャッシュは変動の少ない一部のデータに適しており、キャッシュで処理できるリクエストが増えるほど、システム全体のパフォーマンスが向上します。

ブラウザキャッシュ。Webサイトのパフォーマンスとブラウザの速度を向上させ、Webサイトのパフォーマンスを向上させることができるため、必要になることがあります。ただし、キャッシュによって問題が発生したり、誤ったデータが表示されたりする可能性があるため、キャッシュをクリアする必要がある場合があります。たとえば、ストック Web サイトはリアルタイムで更新されますが、Web サイトによってはほとんど更新されないため、キャッシュが必要です。

以下はブラウザをクリアする伝統的な方法です

メタメソッド

//不缓存 
<META HTTP-EQUIV="pragma" CONTENT="no-cache">  
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">  
<META HTTP-EQUIV="expires" CONTENT="0">
ログイン後にコピー

フォームの一時キャッシュを削除します

<body onLoad="javascript:document.yourFormName.reset()">
ログイン後にコピー

ajaxクリアキャッシュ

$.ajax({ 
   url:&#39;www.haorooms.com&#39;, 
   dataType:&#39;json&#39;, 
   data:{}, 
   cache:false,  
   ifModified :true , 
 
   success:function(response){ 
     //操作 
   } 
   async:false 
 });
ログイン後にコピー

乱数を使用します。乱数もまたキャッシュを回避する方法 とても良い方法です!

Add "?ran=" + Math.random(); //もちろん、ここで実行されるパラメータは任意に選択できます

乱数と同じランダム時間を使用します。

"?timestamp= + new Date().getTime(); を追加します。

php バックエンドを使用してクリーンアップします。

header("Cache-Control: no-cache, should -revalidate") を追加します。 (php など)

以下では、angularJs プロジェクトでブラウザをクリアする方法を紹介します。 もちろん、上記の従来の方法も適用できますが、angularJs の場合は、次の項目を追加する必要があります。

1 . テンプレートのキャッシュをクリアする

.run(function($rootScope, $templateCache) {  
      $rootScope.$on(&#39;$routeChangeStart&#39;, function(event, next, current) {  
        if (typeof(current) !== &#39;undefined&#39;){  
          $templateCache.remove(current.templateUrl);  
        }  
      });  
    });
ログイン後にコピー

2. htmlにランダムなパラメータを追加する

.state("content", { 
        url: "/", 
        views:{ 
          "bodyInfo":{templateUrl: &#39;tpls/bodyInfo.html?&#39;+ +new Date(), 
            controller:&#39;bodyInfoCtrl&#39;}, 
          "header":{templateUrl: &#39;tpls/header.html?&#39;+ +new Date(), 
            controller:&#39;headerCtrl&#39; 
          }, 
          "footer":{templateUrl: &#39;tpls/footer.html?&#39;+ +new Date(), 
            controller:&#39;footerCtrl&#39; 
          } 
        } 
      })
ログイン後にコピー

以上です 他にも方法があれば教えてください。アドバイス!

上記は私があなたのためにまとめたものです。

関連記事:

Vue.jsでコンポーネント間の循環参照を実装する方法

Vueの非同期コンポーネントの例があります

nodejsでの最大コールスタックエラーの超過を解決する方法

Vue+SpringBootでブログ管理プラットフォームを実装する方法

以上がangularJsでブラウザキャッシュをクリアする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート