swfobject.embedSwf.
この問題に対して提案されているすべての手動の回避策には、window オブジェクトから Object 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 ムービーがその Javascript 外部インターフェイスを設定すると、window[id] にアクセスしようとします。これは存在しないため、失敗します。
上記の回避策を適用し、window[id]
embedSwf に置き換えられる DOM 要素を入力すると、オブジェクト DOM 要素ではなく div DOM 要素で Flash 固有のメソッドを呼び出そうとしているため、まだ失敗します。
Flash 8 と IE6 以降、この問題が修正されていないのは驚くべきことです。