[解決済み] linkタグやscriptタグでCSSやJavaScriptのURLに"?v=1 "を付加すると、どのような効果がありますか?
2022-05-08 21:57:53
質問
HTML 5 のボイラープレート・テンプレート (
http://html5boilerplate.com/
を使用していることに気がつきました。
"?v=1"
は、CSSやJavaScriptのファイルを参照する際に、URLの中に含まれています。
-
を追加するとどうなるのでしょうか?
"?v=1"
を、linkタグやscriptタグのCSSやJavaScriptのURLに追加するとどうなりますか? -
すべてのJavaScriptのURLには
"?v=1"
(下記サンプルの例。js/modernizr-1.5.min.js
). 何か理由があるのでしょうか?
サンプル
index.html
:
<!-- CSS : implied media="all" -->
<link rel="stylesheet" href="css/style.css?v=1">
<!-- For the less-enabled mobile browsers like Opera Mini -->
<link rel="stylesheet" media="handheld" href="css/handheld.css?v=1">
<!-- All JavaScript at the bottom, except for Modernizr which enables HTML5 elements & feature detects -->
<script src="js/modernizr-1.5.min.js"></script>
<!------ Some lines removed ------>
<script src="js/plugins.js?v=1"></script>
<script src="js/script.js?v=1"></script>
<!--[if lt IE 7 ]>
<script src="js/dd_belatedpng.js?v=1"></script>
<![endif]-->
<!-- yui profiler and profileviewer - remove for production -->
<script src="js/profiling/yahoo-profiling.min.js?v=1"></script>
<script src="js/profiling/config.js?v=1"></script>
<!-- end profiling code -->
解決方法は?
これらは通常、サイトが新しいバージョンに更新されたときに、ブラウザが新しいバージョンを取得するようにするためのものです。例えば、ビルドプロセスの一部として、次のようなものがあります。
/Resources/Combined.css?v=x.x.x.buildnumber
これは新しいコードをプッシュするたびに変わるので、クライアントはクエリ文字列のために、新しいバージョンを取得することを余儀なくされるのです。 例えば、このページを見てください(この回答の時点では)。
<link ... href="http://sstatic.net/stackoverflow/all.css?v=c298c7f8233d">
SO チームはリビジョン番号の代わりにファイルハッシュを採用したと思いますが、これはさらに良いアプローチです。 実際に は変更されます。
どちらのアプローチも、キャッシュヘッダを20年といった途方もない長さに設定することができます。それでも、変更されたときにはキャッシュヘッダを気にする必要はなく、ブラウザは異なるクエリストリングを見て、それを別の新しいファイルとして扱います。
関連
-
document.forms 使用方法
-
[解決済み] HTMLで表示される上下の三角形(軸のない矢印)に使用できる文字は何ですか?
-
[解決済み] javascript(またはjQuery)を使って::beforeや::afterなどのCSS疑似要素を選択し、操作する。
-
[解決済み] CSSセレクタの"~"(チルダ/スクイグル/ツイドル)はどういう意味ですか?
-
[解決済み] Bootstrap3による垂直方向の整列
-
[解決済み] CSSセレクタの「+」(プラス記号)の意味は何ですか?
-
[解決済み] 特定のクラスや属性を持たない要素を選択するCSSセレクタは書けますか?
-
[解決済み] HTMLのdiv要素とspan要素の違いは何ですか?
-
[解決済み] Normalize.cssとReset CSSの違いは何ですか?
-
[解決済み] CSSにおける「!important」の意味とは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 横型リストアイテム
-
[解決済み] 要素を水平方向にセンタリングする方法
-
[解決済み] HTMLのid属性に有効な値は何ですか?
-
[解決済み] チェックボックスとそのラベルをクロスブラウザーで一貫して揃える方法
-
[解決済み] How can I set the default value for an HTML <select> element?
-
[解決済み] How do I style a <select> dropdown with only CSS?
-
[解決済み] localStorage、sessionStorage、session、cookieの違いは何ですか?
-
[解決済み] label要素の中にinput要素を入れるべきですか?
-
[解決済み] HTMLのレイアウトにテーブルを使用しない理由は?[クローズド]
-
[解決済み] div内の画像の下に余分なスペースがある