2011-11-03 44 views
1

我有我的Canvas元素的麻煩......HTMLCanvasElement成爲HTMLUnknownElement中的iFrame

我嘗試在iframe中Canvas元素加載頁面。當我試圖提醒元素類型是這樣的:

var cv = document.getElementById("my_canvas"); 
alert("my_canvas = "+cv); 

我在每一個瀏覽器中得到有:

my_canvas = [object HTMLCanvasElement] 

,但在Internet Explorer中,我得到:

my_canvas = [object HTMLUnknownElement] 

所以這是相當奇怪的......

當我加載同一頁面直接在我的瀏覽器(不在iframe中),它會給m e畫布元素。

爲什麼Iframe中的元素未知?

甚至更​​重要的是:如何修復它!

回答

4

Internet Explorer 8及以下版本不支持HTML5 Canvas。

如果使用IE9,則很有可能在(IE7/8)兼容模式下加載iframe。

嘗試添加此:

<!DOCTYPE html>

向您的iFrame代碼的頂部。這是HTML5的正確的文檔類型,可能會解決這個問題。

+1

你在哪裏沒錯。這是一個文檔類型問題。不是iframe頁面的doctype,而是父頁面的doctype。在iframe頁面中,我已經添加了doctype,因爲這是使用HTML5的實際頁面。顯然在Internet Explo(d/r)中,iframe doctype被繼承的文檔類型取代 – spambas