私は、swfobject.embedSwfを使用してIE 6,7,8内のHTMLフォームに動的に読み込まれたSWFを埋め込むことに無限の問題がありました。swfobject 2+をIE6 +で使用してフォームにSWFを埋め込むことはできますか?
問題の提案されたすべての回避策には、ウィンドウオブジェクトからのオブジェクトDOM要素への参照の作成が含まれます。例:
window[id] = document.getElementById(id);
ここで、idはswfオブジェクトのdom要素のIDです。私の場合、まだ作成されていないので、window[id]
をswfオブジェクトIDに設定することはできません!
javascriptのエラーを引き起こしているswfobjectの行は次のとおりです。
el.outerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + att + '>' + par + '</object>';
SWFムービーは、それがウィンドウ[ID]をアクセスしようとしたそのJavascriptの外部インターフェイスを設定したよう。これは存在しないので失敗します。
window[id]
をembedSwfに置き換えられているDOM要素に埋め込むと、オブジェクトDOM要素ではなくDOM固有の要素にFlash固有のメソッドを呼び出そうとしています。
私は、この問題がFlash 8とIE6以降に修正されていないことを驚かせています!