index » ラボ&備忘録 » Javascript » objectを動的出力する際の問題点 このエントリーを含むはてなブックマーク

objectを動的出力する際の問題点

2006.05.16

JavascriptでFlash用のタグをcreateElementを使って出力する際の問題点メモ。

Flashのポップアップに対応したLightboxJSみたいなものを書いている時にちょっと嵌まってしまったのですが、"IEでは" 処理の順番を注意しないと正常にFlashが読み込まれないようです。

1:object要素を作成

var oO = document.createElement('object');

2:object要素を親要素に追加(属性はまだ登録しない ID等はOK)

node.appendChild(oO);

3:param要素を作成

var oP = document.createElement('param');

4:param要素の属性を登録

oP.setAttribute('name', 'movie');
oP.setAttribute('value', '001.swf');

5:param要素をobject要素に追加する

oO.appendChild(oP);

6:object要素の属性を登録

oO.setAttribute('data', '001.swf');
oO.setAttribute('type', 'application/x-shockwave-flash');

注意する点としては、5の処理をする前に6の処理をしてしまうと読み込まれないという事です。
2は6の前ならいつでも可。

多分。

シュークリームを作る時、混ぜる順番を一個でも間違えると焼いた時にふくらまない、みたいなもんなんですかね(´・ω・`)