Javascriptと外部cssの記述位置

[新着] Webテンプレートを仮オープンしました



0   名前:  : 2006/11/11(土) 23:18  ID:U8ntRpBE
現在、下記ページの「ブラウザによってスタイルシートを切り替えるスクリプト」というものを使用しています。
http://www.kisc.meiji.ac.jp/~pz03013/html/css_change.html
(外部jsファイル内でブラウザ別のcssを判別し、読み出してくれるスクリプトです。)

きちんと設置はできているのですが、参照ページ最下部の
呼び出す側のXHTML
<head>
<script type="text/javascript" src="css_change.js"></script>
</head>

という記述だけでは、JSオフの環境だとスタイルシート自体が読み込まれないので、自分で
<head>
<script type="text/javascript" src="css_change.js"></script>
<noscript><LINK rel="stylesheet" type="text/css" href="**.css" title="**"></noscript>
</head>

と書き加え、一応希望の結果は得られたのですが、よく考えたらhead内にnoscriptは書けないんですよね?
また、noscript内にlinkが書けないとの情報も見つけてしまいました。
head内がダメなら…と、body内に記述を移動させても正常に動いてくれるのですが(IE6.0とNN7.1で確認)
body内で外部cssを呼び出すこともダメですよね…?

正しい記述で、思ったように動作させるためには、どのように記述すればいいのでしょうか。
ご教授お願い致します。

1   名前: 匿名 : 2006/11/11(土) 23:18  ID:IbwOHKIj
固定スタイルシートを用意し、

・cc_change.jsから呼び出すスタイルシートで、固定スタイルを(必要に応じて)上書きする

あるいは、

・固定スタイルシートを表すlink要素を、JSオンの環境では削除する。

2   名前: シキ : 2006/11/11(土) 23:18  ID:1j4uE6ff
↑の意見に賛同。

又は、外部CSSのみで記述するにとどめJS記述を削除するとか。

3   名前:  : 2006/11/11(土) 23:18  ID:U8ntRpBE
あ…そうですよね。
<head>
<LINK rel="stylesheet" type="text/css" href="**.css" title="**">
<script type="text/javascript" src="css_change.js"></script>
</head>

これで全て解決しますよね。
細かいことに目が行くばかりで、簡単な事に気付きませんでした…。
>>1匿名さん、シキさん、ご回答どうもありがとうございました。

一覧へ戻る