js、css、htmlはブラウザのさまざまなバージョンを決定します

js、css、htmlはブラウザのさまざまなバージョンを決定します
正規表現を使用してIEブラウザのバージョンを判別する

IEブラウザかどうか確認する

if (document.all) { alert("これは IE ブラウザです");}

IE6ブラウザかどうか確認する

方法 1: if ( /MSIE 6.0/ig.test(navigator.appVersion) ) {alert("これは IE6 ブラウザです");}
または /MSIE 8/.test(navigator.appVersion)

方法2:

var IE = !+'\v1';

IE6 = IE && ([/MSIE(\d)\.0/i.exec(navigator.userAgent)][0][1] == 6)

IE7ブラウザかどうか確認する

if ( /MSIE 7.0/ig.test(navigator.appVersion) ) {alert("これは IE7 ブラウザです");}

上記に基づいて IE ブラウザを判断し、同じロジックで他の IE ブラウザを判断します。

ブラウザのバージョン情報で各ブラウザを識別する

var _uat=navigator.userAgent;
if(_uat.indexOf("MSIE 6.0")>0) アラート("ie6");
そうでない場合、_uat.indexOf("MSIE 7.0")>0) アラート("ie7");
そうでない場合、_uat.indexOf("MSIE 8.0")>0 の場合、alert("ie8");
そうでない場合、_uat.indexOf("Firefox")>0 の場合、アラート ("firefox");

CSSはブラウザを決定します
#example{color:red ;} /*firefox*/
* html #example{color:blue;} /*ie6*/
*+html #example{color:green;} /*ie7*/

HTMLはブラウザを決定します
1. <!--[if !IE]><!-->IE以外で利用可能<!--<![endif]-->
2. <!--[if IE]> すべてのIEが認識可能<![endif]-->
3. <!--[if IE 6]> IE6 のみが認識できます<![endif]-->
4.<!--[if lt IE 6]> IE6以下のバージョンでは認識できます<![endif]-->
5. <!--[if gte IE 6]> IE6以降のバージョンでは認識できます<![endif]-->
6.<!--[if IE 7]> IE7 のみが認識できます<![endif]-->
7. <!--[if lt IE 7]> IE7以下のバージョンでは認識できます<![endif]-->
8. <!--[if gte IE 7]> IE7以降のバージョンでは認識できます<![endif]-->

HTML 内の CSS および JS リンクのバージョン番号

背景

検索エンジンで「.htaccess キャッシュ」というキーワードを検索すると、ウェブサイトのファイル キャッシュの設定に関するチュートリアルが多数見つかります。設定することで、頻繁に更新されない CSS、JS などのファイルをブラウザー側にキャッシュできるため、訪問者がウェブサイトにアクセスするたびに、ブラウザーはサーバーから読み取るのではなく、ブラウザー キャッシュから CSS、JS などを取得できます。これにより、ウェブサイトの起動がある程度高速化され、サーバーのトラフィックが節約されます。

質問

ここで問題が発生します。.htaccess によって設定された CSS および JS キャッシュには有効期限があります。訪問者のブラウザに CSS および JS がキャッシュされている場合、ブラウザは CSS および JS キャッシュの有効期限が切れる前にのみ、キャッシュから CSS および JS を読み取ります。サーバー上で CSS および JS を変更した場合、リピーターの顧客が Ctrl + F5 を押して Web サイトのページを更新するか、ブラウザのキャッシュを手動でクリアしない限り、これらの変更はリピーターのブラウザでは変更されません。ウェブサイトには数万人の訪問者がいて、その多くはリピーターです。CSS を更新した後、すべての訪問者にキャッシュを更新するよう依頼することはできません。では、この問題にどう対処すればよいでしょうか。

解決

1. CSS ファイル名を変更する: 実際、この問題を解決するのは非常に簡単です。キャッシュはファイル名でマークされます。ウェブサイトの CSS ファイルの内容を更新したら、CSS ファイル名を変更するだけです。たとえば、元の HTML の CSS 呼び出しステートメントは次のようになります。

<link rel="スタイルシート" href="http://www.example.com/style.css" type="text/css" media="screen" />

CSS ファイル名を変更するだけです:

<link rel="スタイルシート" href="http://www.example.com/index.css" type="text/css" media="screen" />

CSS ファイル名を変更する別の方法は、次のようにバージョン番号をファイル名に書き込むことです。

<link rel="スタイルシート" href="http://www.example.com/index.v2011.css" type="text/css" media="screen"/>

css ファイルが更新されたら、ファイル名のバージョン番号を変更するだけです。

<link rel="スタイルシート" href="http://www.example.com/index.v2012.css" type="text/css" media="screen"/>

2. CSS ファイルにバージョン番号を追加する: 実際、CSS ファイルが変更されるたびに CSS ファイル名を変更するのは少し面倒です。そこで、読み込み CSS ステートメント (つまり、CSS リンクの ? の後の内容) にバージョン番号を追加できます。たとえば、元の HTML の CSS 呼び出しステートメントは次のようになります。

<link rel="スタイルシート" href="http://www.example.com/style.css?v=2011" type="text/css" media="screen"/>

CSS ファイルのバージョン番号を 2012 に変更するだけです。

<link rel="スタイルシート" href="http://www.example.com/style.css?v=2012" type="text/css" media="screen"/>

要約する

実際、CSS ファイルの後の疑問符には実用的な効果はなく、接尾辞としてのみ使用できます。疑問符とパラメータの組み合わせ方法を使用すると、バージョン番号などの情報を追加でき、同時にブラウザのキャッシュを更新できます。小さな細部が私たちに大きな利便性をもたらすことがあります。

<<:  MySQL における一般的な高度な SQL ステートメント

>>:  JavaScript関数の詳細な説明これを指す問題

推薦する

IDEA で Docker を WSL2 にデプロイする詳細なプロセス

ローカル環境はWindows10+WSL2(Ubuntu)です。サーバーにDockerをインストール...

Vue の共通 A​​PI と高度な API の概要

目次次のチェックミックスイン$強制更新設定、削除フィルター指令その他の単純な共通プロパティとメソッド...

win2008 サーバー セキュリティ設定の展開ドキュメント (推奨)

私は新年を迎える前からプロジェクトに取り組んでいましたが、ここ数日で、新しいサーバー用に新しく増設し...

ミニプログラムカスタムタブバーコンポーネントのカプセル化

この記事の例では、ミニプログラムのカスタムタブバーコンポーネントをカプセル化するための具体的なコード...

MySQL 最適化技術における Limit クエリの最適化分析

序文実際のビジネスでは、ページングは​​一般的なビジネス要件です。次に、制限クエリを使用します。制限...

MySQL マスタースレーブレプリケーションの原理と実践の詳細な説明

目次導入効果原理形状練習するこの記事では、例を使用して、MySQL マスター/スレーブ レプリケーシ...

Vue の 2 択タブバー切り替えの新しいアプローチ

問題の説明プロジェクトに取り組んでいるときに、タブ バーの切り替え効果を作成する必要がある場合があり...

MySQL ルートパスワードをリセットする方法

目次1. ルートパスワードを忘れてしまい、データベースにアクセスできない: DBA にとって、スーパ...

HTML と CSS を使用して絵文字付きのコメント ボックスを作成する方法のチュートリアル

絵文字付きの HTML コメント ボックス。絵文字は Json データを通じて読み込まれ、好みに応じ...

Vue3 の SetUp 関数のプロパティとコンテキスト パラメータの詳細な説明

1. setUp関数の最初のパラメータpropsセットアップ(プロパティ、コンテキスト){}最初のパ...

HTMLの空リンクの役割についての簡単な説明

空のリンク:つまり、ターゲット エンドポイントとのリンクはありません。フォーマット <a hr...

Linux/CentOS システムでネットワーク時間を同期する 2 つの方法の詳細な説明

ハードウェア上の理由により、機械は標準時間にある程度追いつけない場合があり、その誤差は 1 か月で数...

Javascriptの基本を詳しく説明

目次変数データ型拡張ポイント要約する変数基本的な構文 var age=10; //ageという変数を...

シェルを使用してMySQLデータバックアップスクリプトを作成する

アイデアそれは実はとても簡単ですシェル スクリプトを記述して、mysql の mysqldump を...