我一直有無盡的問題,使用swfobject.embedSwf在IE 6,7,8內嵌入一個動態加載的SWF到HTML窗體中。是否可以在IE6 +中使用swfobject 2+嵌入SWF格式?
該問題的所有建議的手動解決方法都涉及從窗口對象創建對Object DOM元素的引用。例如:
window[id] = document.getElementById(id);
其中,id是swf對象dom元素的id。在我的情況下,我不能將window[id]
設置爲swf對象ID,因爲它尚未創建!
在swfobject的是造成了JavaScript錯誤的路線是:
el.outerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + att + '>' + par + '</object>';
隨着SWF影片設置它的JavaScript外部接口嘗試訪問窗口[ID]。由於這不存在,它失敗了。
如果我應用上面提到的解決方法,並使用被embedSwf替換的DOM元素填充window[id]
,它仍然會失敗,因爲它試圖調用div DOM元素上的Flash特定方法而不是對象DOM元素。
我發現自從Flash 8和IE6以來,這個問題一直沒有被修復!