ホームページ ウェブフロントエンド htmlチュートリアル ヒント フロントエンドによりブラウザが静的リソースをキャッシュできないようにする

ヒント フロントエンドによりブラウザが静的リソースをキャッシュできないようにする

Jun 24, 2016 am 11:45 AM
フロントエンド ブラウザキャッシュ

モバイルブラウザ UC は常に良好なパフォーマンスを発揮します。QQ ブラウザと WeChat 上の Web サイトは直接開くことができます (同様に QQ ブラウザのコアを使用します)。

CSS 画像などがキャッシュされます。これらの変更が発生した場合、Web ページを更新してもまったく効果がありません。

一部のモバイル ブラウザはトラフィックやパフォーマンスの節約などの理由で常に静的リソースをキャッシュするため、問題は発生しません。このままであれば問題ありませんが、サーバー上の css ファイルの内容が影響を受ける可能性があります。が変更され、モバイル ブラウザがキャッシュを解放しないと、一部のページで明らかな問題が発生するため、css、js、jpg、swf などにタイムスタンプを追加する必要があります。ファイルを変更するたびにタイムスタンプを変更するのが最善です。が変更され、ブラウザにダウンロードさせ、変更がない場合はブラウザによってキャッシュされたファイルを呼び出すようにします

それで、これを行うことができます

<?php $css=&#39;/xxx/xxx.css&#39; ?>
<link rel="stylesheet" type="text/css" href="<?php echo "$css" . &#39;?time=&#39; . filemtime( $css ); ?>" />
ログイン後にコピー

注:

php 原則として、'' "" はユニバーサルです はい、 echo 関数の出力では、「 」内の内容は純粋な文字列に解析され、「 」内の変数は変数の値に解析されますが、関数の値は解析されません。これは PHP のコネクタです。

filemtime("file ") は、ファイルの最終変更時刻を取得し、1430451431 のような形式で UNIX タイムスタンプを取得します。

原理は、サフィックスを追加することで要求されたファイルの URL を変更し、ブラウザーに強制的に URL を変更させることです。これはダウンロードしてキャッシュを更新するための別のファイルであると考えてください

Baidu Cloud のホームページの HTML ソース コードでは、最終的な出力コンテンツは次のようになります

<link href="/ppres/static/css/pcloud_feedpage_all.css?t=201504154611" rel="stylesheet" type="text/css"/>
ログイン後にコピー
CSS ファイルにはこのようにタイムスタンプを付けることができ、他の静的リソースも次の方法で追加できますこれを参考に

ただし、開発中にこれを直接実行してタイムスタンプを毎回更新することもできます

<link rel="stylesheet" type="text/css" href="/xx/style.css?time=<?php echo time(); ?> " />
ログイン後にコピー
jsp asp などの他の言語でも簡単に実行できます

ただし、JavaScript では実行できません。これを使用してタイムスタンプを取得することもできます

<script>
var time1=Date.parse(new Date());
var time2=new Date().valueOf();
var time3=new Date().getTime();
console.log('timestamp:'+time1);
console.log('timestamp:'+time2);
console.log('timestamp:'+time3);

/* time1的毫秒部分将是000,不会计算毫秒
 time2,time3会记录精确到毫秒,且结果相同 */
</script>
ログイン後にコピー
が、クライアントに参照パスが挿入されても意味がありません。リクエストはサーバーに送信されるため、考慮する必要があるのは実行時間とタイムスタンプです。もう 1 つはサーバー側のルーティング コントロールです。これは winy から参照できます: http://www.hilau .com/1311273.html /or/ http://www.laozhuhome.com/html /automatically-version-your-css-and-javascript-files

フロントエンドワークフローに grunt を使用するときにこのようなツールを使用することもできます

自動バージョンインクリメント

さまざまな方法があるので、お好きなものを選択してください!

要約: 上記がこの記事の全内容です。皆様の学習に役立つことを願っています。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Nodeのメモリ制御に関する記事 Nodeのメモリ制御に関する記事 Apr 26, 2023 pm 05:37 PM

ノンブロッキングおよびイベント駆動に基づいて構築されたノード サービスには、メモリ消費量が少ないという利点があり、大量のネットワーク リクエストの処理に非常に適しています。大量のリクエストを前提として、「メモリ制御」に関する問題を考慮する必要があります。 1. V8 のガベージ コレクション メカニズムとメモリ制限 Js はガベージ コレクション マシンによって制御されます

Windows 11 でキャッシュされたすべての DNS エントリを表示する方法 Windows 11 でキャッシュされたすべての DNS エントリを表示する方法 May 21, 2023 pm 01:01 PM

Windows オペレーティング システムは、キャッシュを使用して DNS エントリを保存します。 DNS (Domain Name System) は、通信に使用されるインターネットの核となるテクノロジーです。具体的には、ドメイン名の検索に使用される IP アドレスです。ユーザーがブラウザにドメイン名を入力すると、サイトが読み込まれるときに実行される最初のタスクの 1 つは、その IP アドレスを見つけることです。このプロセスには DNS サーバーへのアクセスが必要です。通常、インターネット サービス プロバイダーの DNS サーバーは自動的に使用されますが、管理者は、他の DNS サーバーの方が高速であったり、より優れたプライバシーを提供できる可能性があるため、他の DNS サーバーに切り替える場合があります。 DNS が特定のサイトへのアクセスをブロックするために使用されている場合、DNS プロバイダーを切り替えると、インターネット検閲を回避できる可能性があります。 Windows は DNS ソリューションを使用します

Node の File モジュールについて詳しく説明しましょう Node の File モジュールについて詳しく説明しましょう Apr 24, 2023 pm 05:49 PM

ファイル モジュールは、ファイルの読み取り/書き込み/開く/閉じる/削除の追加など、基礎となるファイル操作をカプセル化したものです。ファイル モジュールの最大の特徴は、すべてのメソッドが **同期** と ** の 2 つのバージョンを提供することです。 asynchronous**、sync サフィックスが付いているメソッドはすべて同期メソッドであり、持たないメソッドはすべて異種メソッドです。

Windows 11 でキャッシュをクリアする方法: 画像付きの詳細なチュートリアル Windows 11 でキャッシュをクリアする方法: 画像付きの詳細なチュートリアル Apr 24, 2023 pm 09:37 PM

キャッシュとは何ですか?キャッシュ (カシェイと発音) は、頻繁に要求されるデータや命令を保存するために使用される特殊な高速ハードウェアまたはソフトウェア コンポーネントであり、Web サイト、アプリケーション、サービス、およびシステムのその他の側面をより高速に読み込むために使用できます。 。キャッシュにより、最も頻繁にアクセスされるデータがすぐに利用できるようになります。キャッシュ ファイルはキャッシュ メモリとは異なります。キャッシュ ファイルとは、複数のプログラムで必要になる可能性がある、PNG、アイコン、ロゴ、シェーダーなどの頻繁に必要なファイルを指します。これらのファイルは物理ドライブ領域に保存され、通常は隠されています。一方、キャッシュ メモリは、メイン メモリや RAM よりも高速なメモリのタイプです。 CPUに近く、RAMに比べて高速なため、データアクセス時間が大幅に短縮されます。

Vue3 で単体テストを作成する方法を調べる Vue3 で単体テストを作成する方法を調べる Apr 25, 2023 pm 07:41 PM

Vue.js は、今日のフロントエンド開発において非常に人気のあるフレームワークとなっています。 Vue.js が進化し続けるにつれて、単体テストの重要性がますます高まっています。今日は、Vue.js 3 で単体テストを作成する方法を検討し、いくつかのベスト プラクティスと一般的な問題と解決策を提供します。

PHP と Vue: フロントエンド開発ツールの完璧な組み合わせ PHP と Vue: フロントエンド開発ツールの完璧な組み合わせ Mar 16, 2024 pm 12:09 PM

PHP と Vue: フロントエンド開発ツールの完璧な組み合わせ 今日のインターネットの急速な発展の時代において、フロントエンド開発はますます重要になっています。 Web サイトやアプリケーションのエクスペリエンスに対するユーザーの要求がますます高まっているため、フロントエンド開発者は、より効率的で柔軟なツールを使用して、応答性の高いインタラクティブなインターフェイスを作成する必要があります。フロントエンド開発の分野における 2 つの重要なテクノロジーである PHP と Vue.js は、組み合わせることで完璧なツールと見なされます。この記事では、PHP と Vue の組み合わせと、読者がこれら 2 つをよりよく理解し、適用できるようにするための詳細なコード例について説明します。

クロスドメインの問題を解決するにはどうすればよいですか?一般的なソリューションの簡単な分析 クロスドメインの問題を解決するにはどうすればよいですか?一般的なソリューションの簡単な分析 Apr 25, 2023 pm 07:57 PM

クロスドメインは開発においてよく遭遇するシナリオであり、インタビューでもよく議論される問題でもあります。一般的なクロスドメイン ソリューションとその背後にある原則を習得すると、開発効率が向上するだけでなく、面接でのパフォーマンスも向上します。

フロントエンド開発に Go 言語を使用するにはどうすればよいですか? フロントエンド開発に Go 言語を使用するにはどうすればよいですか? Jun 10, 2023 pm 05:00 PM

インターネット技術の発展に伴い、フロントエンド開発の重要性がますます高まっています。特にモバイル デバイスの人気により、効率的で安定しており、安全で保守が容易なフロントエンド開発テクノロジーが必要です。 Go 言語は、急速に発展しているプログラミング言語として、ますます多くの開発者によって使用されています。では、フロントエンド開発に Go 言語を使用することは可能でしょうか?次に、この記事ではフロントエンド開発にGo言語を使用する方法を詳しく説明します。まずはフロントエンド開発にGo言語が使われる理由を見てみましょう。多くの人は Go 言語は

See all articles