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関数の詳細な説明これを指す問題

推薦する

自動ヘルスレポートを実現するDocker+Selenium方式

この記事では、ある大学の健康報告システムを例に、Web 側の自動化操作を完成させます。使用したテクノ...

Windows Server 2016 で Flash を有効にする方法

最近、VMware Horizo​​n を導入してテストしましたが、そのコンソールにはデフォルトで ...

リンクをクリックしたときにファイルのダウンロードダイアログボックスをポップアップ表示するには、HTML で href を使用します。

今日、新しい技を学びました。あまりやったことがなかったので、今まで知りませんでした...目的: リン...

CSSオーバーフローメカニズムについての簡単な説明

CSS オーバーフローのメカニズムを詳細に学ぶ必要があるのはなぜですか?実際の開発プロセスでは、コン...

CSSフィルターにはどんな魔法の用途があるか

背景基本概念CSS filterプロパティは、ぼかしや色の変化などのグラフィック効果を要素に適用して...

Vueのコンポーネントのprops属性について詳しく説明します

目次質問1: 小道具は具体的にどのように使用されますか?原理は何ですか?下を見る質問 2: 年齢に ...

Javascriptで戦略パターンを実装する方法

目次概要コードの実装要約する概要戦略パターンは、JavaScript デザイン パターンにおける動作...

aタグ疑似クラスの機能と記述順序は何ですか?

a タグ疑似クラスの役割: 「:link」: 訪問されていないタグの状態。 「:visited」: ...

bitronix を使用して MySQL に接続するときの MySQLSyntaxErrorException の解決方法

bitronix を使用して MySQL に接続するときの MySQLSyntaxErrorExce...

CSS 位置プロパティが絶対の場合のパーセンテージ値の計算

位置が絶対の場合、関連する属性のパーセンテージは、参照先の要素 (包含ブロック) を基準として計算さ...

Vue ユニットテストに推奨されるプラグインと使用例

目次フレーム最高レベルのエラー報告活発なコミュニティとチーム冗談モカ推奨プラグインVue テストライ...

Web デザインでフラッシュ オーバーレイ ポップアップ レイヤーの z-index プロパティを設定しても機能しない

デフォルトでは、Flash は常にページのトップレベルに表示されます。つまり、ページに DHTML ...

Linux nohup コマンドの原理と例の分析

nohup コマンドUnix/Linux を使用する場合、通常はプログラムをバックグラウンドで実行す...

タブ効果を実現する js 開発プラグイン

この記事の例では、タブ効果を実現するためのjsプラグインの具体的なコードを参考までに共有しています。...

Vueページの画像が表示されない問題の解決方法

新しいバージョンの設定インターフェースを作る際に、vueフレームワークを使用して実装しました。ページ...