それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

BASEタグでドコでも,絶対URLに置き換えて作業する場合の注意点

BASEタグは、書いた場所以降で反映されるので注意が必要。

BaseタグはHEAD直後に書きます。コレ重要

サンプル

OK の例

 <head>
 <base href="http://www.example.com/test/test.html" target="_self"/>
 <link rel="stylesheet" type="text/css" href="../css/admin.css" />  #OK  反映される
 <link rel="stylesheet" type="text/css" href="../css/print.css" />  #OK  反映される
 <script type="text/javascript" src="../js/default.js"></script>    #OK  反映される
 </head>

混ぜた場合

<head>
<link rel="stylesheet" type="text/css" href="../css/admin.css"  /> #NG  反映されない
<base href="http://www.example.com/test/test.html" target="_self"/>    
<link rel="stylesheet" type="text/css" href="../css/print.css"  /> #OK  反映される
<script type="text/javascript" src="../js/default.js"></script>    #OK  反映される
</head>

NG例

<head>                                                                 
<link rel="stylesheet" type="text/css" href="../css/admin.css" /> #NG  反映されない
<link rel="stylesheet" type="text/css" href="../css/print.css" /> #NG  反映されない
<script type="text/javascript" src="../js/default.js"></script>   #NG  反映されない
<base href="http://www.example.com/test/test.html" target="_self"/>
</head>

まとめ

と言うわけでBaseタグはHEADオープンタグの直後に書きます。

BASEタグを使えば、相対パスを無視して,好きな絶対URLに書換えられるので便利ですね。
HTMLファイル一枚だけ渡されて,更新してって言われたときでも、本番環境なしで作業できます。

知ってると知らないで変わってくる


昔上司に,「BASE使えねぇしおかしくなるか使うな。」っていわれたけど、そのときは宋かなぁと思ってたけど、彼がBaseの前にStyle書いてたんだなと思うと納得する。