で.swfを設置

今日も無事に帰還。
昨日の日記には『機関』って書いてあった。無事機関。

ActiveXパッチ対策

で、昨日の続きなんですけど、JavaScriptで.swfを配置する汎用的なメソッドを作ってみましたので軽く紹介を。。

外部『set_flash.js』
function set_flash() {
	if (typeof(get_flashInfo) == "undefined") {
		return;
	}
	var tags = get_flashInfo();
	var part = tags.length;
	for (var i=0; i<part; i++) {
var str = tags[i];
		var id_name = str.split(':')[0];
		var tag = str.substr(id_name.length + 1);
		
		$(id_name).innerHTML = tag;
	}
}

/*オンロードアクション
===================================================================================*/
Event.observe(window,'load',set_flash,false);

見ての通り、『prototype.js』が要ります。
別にこのくらいやったら書き換えてもいいけど、『使わないと使えるようにならない』の精神で。

HTMLソース内(head要素)
function get_flashInfo() {
	var tags = new Array(
	"flash1:"
	 );
	return tags;
}

コレを script タグ内に記述。変数tagsの各要素は
"フラッシュを配置するタグのid : 本来HTML内に記述するハズのタグ"
になります。
で、先ほどの『set_flash.js』をインクルード


あとは body 要素に、指定したid(ここではflash1)を与えたタグを作るだけ。
変数tagsは配列なんでいくつでも列挙可能。
フラッシュバナーをランダムで変えたり、リンク元によってパラメータを渡したいときなど、PHPで動的にコンテンツを変更するにはスクリプトをbody要素に書かないといけないんでちょっと編集が要りますね。