Big Bang

パソコンの電源を入れた時、メモリー空間に無限の宇宙が拡がる

DOMでIEのstyleタグやscriptタグに書込む法

| 38件のコメント

Internet ExplorerのDOM操作で下のように、styleタグやscriptタグにtextNode
appendChildしようとするとエラーになります。そういう時の対処法です。

var css=document.createElement('style');
css.setAttribute('type','text/css');

var str=document.createTextNode('div.entryInfo{clear:both}'); css.appendChild(str);
var head=document.getElementsByTagName('head'); head[0].appendChild(css);

IE(インターネットエクスプローラ)で、styleタグに書き込むには、次のようにやるようです。

var css=document.createElement('style');
css.setAttribute('type','text/css');
css.styleSheet.cssText='div.entryInfo{clear:both}'
var head=document.getElementsByTagName('head'); head[0].appendChild(css);

IE、その他のブラウザ両対応のコードはこうなります。

var css=document.createElement('style');
css.setAttribute('type','text/css');

var str='div.entryInfo{clear:both}';

if(css.styleSheet){ //IE
	css.styleSheet.cssText=str;
}else{ //その他のブラウザ
	var text=document.createTextNode(str);
	css.appendChild(text);
}

var head=document.getElementsByTagName('head');
head[0].appendChild(css);

scriptタグの場合はこうやります。

var stag=document.createElement('script');
stag.setAttribute('type','text/javascript');
stag.text='alert("hoge");';
var head=document.getElementsByTagName('head'); head[0].appendChild(stag);

38件のコメント

  1. >初心者無視して、JavaScriptで参考になったことを書くシリーズ
    は、私はフォロー担当から外れるんで、おーとえすさんに来てもらって
    いいですか?笑

  2. こりゃおーとえすさん対応ですな。
    僕さっぱりわからんすわw

  3. あ、でもこの記事の書き方は、分かりやすいと思うよ。

  4. そういや、別の話だけど、
    おーとえすさんがいい記事書いてたね。

    ファンブログの人のコメントにサムネを表示させるスクリプト
    http://fanblogs.jp/oands/archive/245/0

  5. うん。今それをこのブログ用に書いてる。
    IEでは動くけどfirefoxで動かなくて、原因箇所を特定したところ。

    IEでしか見られないけど、今貼る。

  6. IEに来たけど、変化ない???

  7. 9だよ。Tomがいっぱいぐるぐるしてないよ?

  8. じゃあたぶんfirefoxと同じ原因。
    俺のは8だ。

  9. じゃあ、Tomから見ると、ぐるぐるなんだ。
    感想は?

    でもおーとえすさんと、SGLさんとこだと
    ぐるぐるしてるじゃない?

  10. ちょっとまて。見えてるけどまわってないって事?
    見えてないんじゃなくて?

  11. あ、ごめん。ここではみえてない。まったく。テキストだよ。

  12. 了解。

    いい忘れた。
    JQueryを使ってないから、おーとえすのソース見て、
    全部独自に書き直した。

    それで、ブラウザによって、うまくいかない。

  13. なんで使わないの?きらいなの?JQuery。

  14. JQueryは好きだよ。
    ただ、ファンブログにアップロードするのが面倒くさい。

  15. ふーん。そうなんだー。
    使ったことないから、わかんないや。

    で、どう?ぐるぐるがいっぱいなのは?

  16. うわっいっぱいまわってる。うっとおしいっ。

  17. あ、Firefoxではまわってない。安心したー。
    あれ?これから周るの?

  18. あれ?IEでも回すのやめたの?
    半日くらいまわしとけば?笑

  19. 今、ちょうどいじってたとこ。
    でもまだ直す。

    途中でURLがないコメントがあると、そこで止まる。
    あとレイアウト。

    それから、回らないようにする。

  20. そっか。記事もあげて眠くなったから。私は寝ます。
    楽しみにしてます。がんばってね♪

  21. はい。おやすみ。

  22. あっFFでも見えた。回ってる!
    ほんとだ。URLの無いコメで止まる笑。
    じゃあ、見届けようかな。

  23. いいよ。少しかかるから、明日のお楽しみ。
    寝な。

  24. いや、見届けない。ゆっくりやって。
    控えめな大きさにしてね。私のとこにおくんなら
    絵文字1.5倍角位のサイズがいいな。

  25. あ、入れ違い。おやすみ~。楽しみにしてます♪

  26. おおっIEでもFFでもCromeでもSafariでも、
    ちゃんと見えてるっ!
    ぐるぐるもしてないし。

    これ、うちでもつけるかな。

  27. URL未記入は、名前の有無にかかわらず no image

  28. >おおっIEでもFFでもCromeでもSafariでも、
    >ちゃんと見えてるっ!

    リポートありがとう。

    >ぐるぐるもしてないし。

    Tomさんの場合だけ、静止画に差し替え。
    他のユーザーがアニメを使っていたら、動く。

    >これ、うちでもつけるかな。

    おーとえすのアルゴリズムだけもらって、実装しなおした。
    おーとえすさんにもらってください。

  29. 朝の7時40分なのに、アクセスが289ある。
    google anaiytics見たら、10ページ以上見てる人が大勢いる。

  30. なんで朝なのに起きてるの?

    >アクセスが289ある。
    なんで?うちは70。ずるい。
    あー、あげはのほっぺにチューしたからか?

    >おーとえすさんにもらってください。
    えー、貼るだけにして譲ってよ。
    他の人は動いててもいいけど、Tomがぐるぐるしてないのがいい。

    何人いると思ってんの、うちのTom?

    これから出かけます~。

  31. >URL未記入は、名前の有無にかかわらず no image
    知ってる。
    なんでURL入らなかった?って思ったら
    ファンブログにログインしてないIEから書いてた笑。

  32. 初心者ですが、 コメント横の画像が気になって
    コメントします。
    みかんの絵もでるのかな

  33. こんばんわ。

    さっそくマネさせていただきました!
    画像が付くだけでなんだか楽しいですね。

  34. ねー。なんだか1ランクUPしちゃったみたいな気分が楽しめます♪

コメントを残す

Top