javascriptでスタイル規則を追加したい
このブログにjavascripでスタイル規則を追加できないかなあと思っていたところ、良さそうなスクリプトを見つけました。
三日坊主++の部屋 <2004-06現在、閉鎖中(T_T)>
→ JavaScript for CSS(3)
→ ○ LINK要素を追加する -- Netscape6(6.1はOK) 不可 --
これを少しだけ変更して、下記のようにして適用してみました。
<script type="text/javascript"> <!-- sURL = "http://facet.cocolog-nifty.com/divers/alt200406a.css"; addLink(); function addLink(){ if(document.all && document.createStyleSheet) document.createStyleSheet(sURL); // stylesheet object createStyleSheet([sURL] [, iIndex]) // iIndexは省略可。省略するとスタイルシート集合の最後に追加。 else { var nLink=document.createElement('LINK'); // Element createElement(in DOMString tagName) // raises(DOMException); nLink.rel="stylesheet"; nLink.type="text/css"; nLink.href=sURL; var oHEAD=document.getElementsByTagName('HEAD').item(0); oHEAD.appendChild(nLink); // Node appendChild(in Node newChild) // raises(DOMException); } } //--> </script>
firefox系だけじゃなく Internet Explorer 6 でも動作するやつを知りたかったので、「おお、これだー(^^)」って思ったんですが、Opera 7.23 ではダメでした。うーん、残念。……何故なんでしょう?(T_T)
Opera 7.23って、document.allがあるんですね…。ということで、最初のifに && document.createStyleSheetを追加たところ、Opera 7.23でもちゃんと追加スタイルシートが適用されました(^^)。
と思ったらいつのまにかまた適用できていないことに気がつきました。なぜか else if(document.styleSheets){ となっていたので、その部分を else { だけにしました。これでOpera7.23ではOKかと思います。
他のブラウザでの動作状況はどうでしょう? 情報をいただければ幸いです。_(._.)_
« 折り畳みで「続きを読む...」 プチ修正 | トップページ | 折り畳み前にキーワード→タグ変換 »
「ウェブログ・ココログ関連」カテゴリの記事
- [ココログ] 「記事の公開日時変更をもっと簡単に」するBookmarkletを再びIE6でも動くようにしました(2010.01.29)
- [ココログ] 「ウェブページ」のファイル名を index.html にしてみたら…(2008.09.03)
- [ココログ] コメント入力欄に「(任意)」の文字も!(2008.04.01)
- げ。(2008.01.10)
この記事へのコメントは終了しました。
トラックバック
この記事へのトラックバック一覧です: javascriptでスタイル規則を追加したい:
» facet-divers: javascriptでスタイル規則を追加したい [此処録ANNEX:ココログTIPS]
facet-divers: javascriptでスタイル規則を追加したい [続きを読む]
» CSSのURL指定方法が変わりました? [facet-divers]
このブログでは、独自スタイルシートを適用するため、CSSのファイル名だけを("alt200411a.css"という感じで)書いていたんですが、今日、サイト全体の [続きを読む]
コメント