キャッシュは、将来のリクエストをより速く処理できるように、データを透過的に保存するコンポーネントです。繰り返しリソースを取得すると、データの重複が発生し、時間がかかる場合があります。したがって、キャッシュは変動の少ない一部のデータに適しており、キャッシュで処理できるリクエストが増えるほど、システム全体のパフォーマンスが向上します。この記事では、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:'www.haorooms.com', dataType:'json', data:{}, cache:false, ifModified :true , success:function(response){ //操作 } async:false });
乱数を使用することも、キャッシュを回避する非常に良い方法です。
Add "?ran=" + Math.random(); //もちろん、ここで実行されるパラメータは任意に選択できます
乱数と同じランダム時間を使用します。
"?timestamp= + new Date().getTime(); を追加します。
php バックエンドを使用してクリーンアップします
header("Cache-Control: no-cache , must-revalidate");など (php など)
以下では、angularJs プロジェクトでブラウザをクリアする方法を紹介します。 もちろん、上記の従来の方法も適用できますが、angularJs の場合は、次の項目を追加する必要があります。
1. テンプレートのキャッシュをクリアします.run(function($rootScope, $templateCache) { $rootScope.$on('$routeChangeStart', function(event, next, current) { if (typeof(current) !== 'undefined'){ $templateCache.remove(current.templateUrl); } }); });
.state("content", { url: "/", views:{ "bodyInfo":{templateUrl: 'tpls/bodyInfo.html?'+ +new Date(), controller:'bodyInfoCtrl'}, "header":{templateUrl: 'tpls/header.html?'+ +new Date(), controller:'headerCtrl' }, "footer":{templateUrl: 'tpls/footer.html?'+ +new Date(), controller:'footerCtrl' } } })
<link rel="stylesheet" href="stylesheets/main.css?version=1.0.3" rel="external nofollow" >
3. ルートキャッシュをクリアします
.config(['$stateProvider', '$urlRouterProvider','$locationProvider','$httpProvider',function($stateProvider, $urlRouterProvider,$locationProvider,$httpProvider) { // $urlRouterProvider.when("", "/home"); $urlRouterProvider.otherwise('/'); if (!$httpProvider.defaults.headers.get) { $httpProvider.defaults.headers.get = {}; } $httpProvider.defaults.headers.common["X-Requested-With"] = 'XMLHttpRequest'; $httpProvider.defaults.headers.get['Cache-Control'] = 'no-cache'; $httpProvider.defaults.headers.get['Pragma'] = 'no-cache';
関連する推奨事項:
ブラウザのキャッシュをクリアする方法
ThinkPHPはワンクリックでキャッシュをクリアする方法を実装しています_PHPチュートリアル
以上がangularJsでブラウザキャッシュをクリアする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。