HtmlCanvaseElement在Iframe中变成HtmlUnknowneElement

HtmlCanvaseElement在Iframe中变成HtmlUnknowneElement,html,iframe,canvas,Html,Iframe,Canvas,我的画布元素有问题 我尝试在Iframe中加载带有Canvas元素的页面。当我尝试像这样警告元素类型时: var cv = document.getElementById("my_canvas"); alert("my_canvas = "+cv); 我在每个浏览器中都可以看到: my_canvas = [object HTMLCanvasElement] 但是,在Internet explorer中,我得到: my_canvas = [object HTMLUnknownElement]

我的画布元素有问题

我尝试在Iframe中加载带有Canvas元素的页面。当我尝试像这样警告元素类型时:

var cv = document.getElementById("my_canvas");
alert("my_canvas = "+cv);
我在每个浏览器中都可以看到:

my_canvas = [object HTMLCanvasElement]
但是,在Internet explorer中,我得到:

my_canvas = [object HTMLUnknownElement]
所以这很奇怪

当我直接在浏览器中而不是在Iframe中加载samen页面时,它确实为我提供了Canvas元素

为什么元素在Iframe中是未知的


更重要的是:我如何修复它

Internet Explorer 8及以下版本不支持HTML5画布

如果使用IE9,iframe很可能以IE7/8兼容模式加载

尝试添加以下内容:


到iFrame代码的顶部。它是HTML5的正确doctype,可能会解决问题。

Internet Explorer 8及以下版本不支持HTML5画布

如果使用IE9,iframe很可能以IE7/8兼容模式加载

尝试添加以下内容:


到iFrame代码的顶部。这是HTML5的正确doctype,可能会解决问题。

请选择正确的位置。这是一个doctype问题。但不是iframe页面doctype,而是父页面doctype。在iframe页面中,我已经准备好添加doctype,因为这是使用HTML5的实际页面。显然,在Internet Explod/rer中,iframe doctype被继承的doctype推翻了……你说得对。这是一个doctype问题。但不是iframe页面doctype,而是父页面doctype。在iframe页面中,我已经准备好添加doctype,因为这是使用HTML5的实际页面。显然,在Internet Explod/rer中,iframe doctype被继承的doctype推翻了。。。