Born Neet

- The Emotional Programmer -

Shortcut Key
Next Page … J(Shift + j)Prev Page … K(Shift + k)
Scroll Down … Space / Page Down
Scroll Up … Shift + Space / Page Up
2007.11.26(Mon.) 22:19
 

前回のエントリでいろいろ勉強になったことを書いたけど、これもdot(w).jsの副産物。

その名もloadCss.js
使ってみたい人はどうぞご自由に。

サンプルや説明は続きにて。


[ここから続き]

ソースはたったこんだけ。

function loadCss(href, check) {

	if(typeof(check) == 'undefined') check = true;

	var head = document.getElementsByTagName('head')[0];
	var link = document.createElement('link');
	link.rel = 'stylesheet';
	link.type = 'text/css';
	link.href = href;

	if(check) {
		var links = head.getElementsByTagName('link');
		for(var i = 0; i < links.length; i++) {
			if(links[i].href == link.href) return false;
		}
	}

	head.appendChild(link);
}

一応簡単な重複ロード確認機能もつけてみた。(style要素内でimportされているものはチェックできません;)

link.relとかじゃなくsetAttributeを使った方がいいのかなぁ・・・
まぁいいか、動いてるし!

<script type="text/javascript" src="loadCss.js"></script>
<script type="text/javascript">
	loadCss('cssファイル');
</script>

とか書けば任意のcssがその場で追加される。

例えばブログなら、テンプレートでloadCss.jsを読んでおいて、個別のエントリに必要なcssを記事内でロードするっていう使い方ができる。

僕みたいにブログでJavaScriptのサンプルを書いてる場合は便利かも。
(cssのサンプルもブログ内で簡単に紹介できるようになる…需要があるかは知らないけど。)

↓がサンプル。testをクリックすると、読み込んだ外部cssによって、リンクの背景が赤くなります。(1回限り)

test

動作確認:IE6/FF2


[参考記事]

Core JavaScript 1.5 Guide:The Employee Example:More Flexible Constructors - MDC
404 Blog Not Found:javascript - ふつうのnamespace
typeof(引数) == 'undefined'な書き方を参考に。


※ちなみに、一昨日もチラッと触れましたが、

<style type="text/css">@import "cssファイル";</style>
<link rel="stylesheet" type="text/css" href="cssファイル" />

とかをbody内に書いても手元の環境では普通に動きました。

上のようなjs使うの面倒、かつ標準とか気にしないという人は…(決しておすすめはできませんが。)

Post your Comment
Name (任意) :
Title (任意) :
URL (任意) :
Comment (日本語必須) :
Trackback

※ 日本語必須


この記事のトラックバックURL:
  BackHOME : Next 
自作スクリプト実験
ブログ内検索
カレンダー
10 2008/11 12
S M T W T F S
1
3 4 5 6 7
11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
最近のコメント
[08/13 mymyeasy]
[07/31 mymyeasy]
[07/06 ゆーいち]
[07/05 ゆーいち]
[07/04 ゆーいち]
最近のトラックバック
RSS
RSS 0.91
RSS 1.0
RSS 2.0
プロフィール
HN:
t*
運営日数:
?日
記事数:
?件
ブログパーツ
あわせて読みたい
スポンサード リンク

Born Neet wrote all articles. 
Powered by Ninja.blog / TemplateDesign by TMP, modified by t*  

占い忍者ブログ