• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:<body>内のJavascriptでCSSを読み込んで適用させたい)

JavascriptでCSSを読み込んで適用させる方法

このQ&Aのポイント
  • Javascriptを使って<body>タグ内でCSSを読み込んで適用させる方法について教えてください。
  • ページ読み込み時に自動でCSSを適用させる方法について、特にFireFox3での対策方法について知りたいです。
  • 直接<head>タグ内でCSSを読み込む方法ではなく、Javascriptを使用して<body>タグ内でCSSを読み込んで適用させる方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

>もちろん<head>内で直接読み込めばいいよとかはなしですよ? あるいみ正解。jsでヘッダにlinkタグを組みこみます。 そもそもスタイルシートはheadにしか書けないはずなので、 少なからずこれに似たような形になると思います。 html <html> <head> <script type="text/javascript" src="roadcss.js"></script> <script type="text/javascript"> window.onload=roadcss </script> </head> <body> test </body> </html> roadcss.js function roadcss(){ var tag=document.createElement('link'); tag.setAttribute("tyle","text/css"); tag.setAttribute("rel","stylesheet"); tag.setAttribute("href","http://file.tubamesound.blog.shinobi.jp/clap.css"); document.getElementsByTagName('head')[0].appendChild(tag); }

idhokanohi
質問者

お礼

おー、そうきましたか~ このjsを <body onload="roadcss();"> <script type="text/javascript" src="roadcss.js"></script> </body>で読み込んだりするのは やっぱり無理かなぁ・・・無理そうだなぁ・・・ 明日やってみます、ありがとうございました。

その他の回答 (3)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.4

あ、bodyで呼び出したかったんでしたっけ・・・ <html> <head> ・・・ </head> <body> test <script type="text/javascript" src="roadcss.js"></script> <script type="text/javascript"> window.onload=roadcss </script> </body> </html> でいけるんじゃないかなぁ・・・

idhokanohi
質問者

お礼

おや、わざわざ補足ありがとうございます。 window.onload=roadcss(); じゃなくてもいいのかな? 私はroadcss.jsの最後にroadcss();で処理しました。 とにかく解決できた。 ありがとうございました。

  • pick52
  • ベストアンサー率35% (166/466)
回答No.2

と思ったら、 document.createStyleSheet() はIE(Trident)専用の メソッドのようです。 他のブラウジングエンジンにも対応するなら document.createElement('style'); を使用しましょう。

参考URL:
http://d.hatena.ne.jp/amachang/20070703/1183436785
idhokanohi
質問者

お礼

なるほど、そうだったのですね。便利なのに。

  • pick52
  • ベストアンサー率35% (166/466)
回答No.1

よく分かりませんが、恐らくこの書き方は不適切なのでは。 本来なら head内で読み込んで <body onload="roadcss();"> のようにした方がいいと思います。 こうしたくない或いはできない理由はなんでしょうか。

idhokanohi
質問者

お礼

回答ありがとうございます。 しかし、<body>以下でしか改変できないという特殊な状態だとお考えください。<head>はいじれません。 あと、あの書き方って不適切なのでしょうか? どこかのスクリプとみてて見つけて、 一応動くので使ってました。

関連するQ&A