base tagを使用して相対URLの絶対パスを設定するサイトがあります。私はそれをテストしたすべてのブラウザで正常に動作しますが、IE(大きな驚き)は例外です。 IEがCSSファイルに対して行っているリクエストに基づいて、それはベースタグに気付かないようです。それは、ページ上の他のすべてで基本タグを認識します。なぜこうなった?絶対パスを使用してCSSファイルを参照する以外に、何かできることはありますか?ここに私のコードは次のとおりです。IEは、CSSファイルを参照するときにベース要素の相対パスをサポートしていません
div {
background: yellow;
}
EDIT:
<!DOCTYPE html>
<html><head>
<title>base test</title>
<base href="/baseTest/">
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div>foo</div>
</body></html>
これはbaseTest /のstyle.cssファイルには何かということです同じことがあまりにもイメージに発生するようです。私がしたすべてのテストはIE9にあった。この問題は、標準モードとIE8とIE7の互換モードで発生しました。
EDIT 2:絶対URLを指定すると正常に動作します。相対URLのサポートが最近の機能であることはわかりませんでした。私は私の計画を放棄するかもしれないが、私はこの仕事をするために何か(JSのハックのような)方法を見つけることができない限り、繰り返しのパスを避けるためにベースタグを使用します。
サンプル・ページ:http://www.debugtheweb.com/test/base/relative.html
ストレンジ以下に示すように、ベースタグに
absolute url
を操作して含めるには、ちょうど
<head>
タグの後のスクリプトタグを含める - 私は、スタイルシートのための特別なケースを作成するドキュメントには何も見ることができません。バグのように見えます。 [MDC](https://developer.mozilla.org/en/HTML/Element/base) - [W3C](http://www.w3.org/TR/html401/struct/links.html#h-12.4 )IEのどのバージョンを試しましたか?代わりに絶対URLを 'base'として指定できますか? –IE11の最新バージョンでサポートされているようです。 IE9は数年前のことですが、おそらくこのサポートに先立っています。 –