css + javascript の質問です。


javascript 中で css (外部ファイル) を読み込みたいと思っています。

そこで以下のような javascript を書いてみました。

var cs = document.createElement("link");
cs.rel="stylesheet";
cs.href="http://foobar.com/styles-site.css";
cs.type="text/css";
document.body.appendChild(cs);

IEなどではうまく動くのですが、残念ながら Safari だけはスタイルシートを読んでくれません・・・。

document.write('<link src=... >');

とすれば大丈夫なのですが、できれば document.write は使いたくないのです。

Safari でも使えるいい方法がありましたら、是非教えてください (_o_)

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2007/10/12 22:52:43
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:Mars No.1

回答回数203ベストアンサー獲得回数20

ポイント150pt

link要素といえばhead内に置くのが正しいので

document.body.appendChild(cs);

document.getElementsByTagName('head')[0].appendChild(cs);

で、どうでしょう。(Win版Safari3では動作しました。)

id:yoski

うわっ、できた。

そうだったのかー。感動です。

ありがとうございました!

2007/10/12 22:51:55

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません