可以't访问iframe中的canvas元素
Can't access canvas element in iframe
我得到了一个iframe,我想在这个iframe中选择一个画布元素。但它不起作用。我正在使用以下代码。
这是我的iframe
<body>
<div id="canvasdiv" width="300" height="300"></div>
</body>
这是我的主页
<iframe name="iframe" id="iframe" frameborder="0" width="325" height="325" src="..."></iframe>
使用javascript,我添加了一个具有一些属性的画布。例如id。
canvas.node.id = "canvas";
在我的父页面中,我得到了以下javascript。
var iframe = document.getElementById("iframe");
alert(iframe);
var iframe_canvas = iframe.contentDocument || iframe.contentWindow.document;
alert(iframe_canvas);
var canvas = iframe_canvas.getElementById("canvas");
alert(canvas);
结果:
iframe = iframe element
iframe_canvas = html element
canvas = null
有人知道我为什么不能访问画布元素吗=(
为了测试getElementById函数,我用$(document).ready
调用了它。但此时浏览器并没有呈现iframe。这就是为什么我可以访问iframe-it-self,但不能访问iframe的元素。现在我把这个功能分配给了一个按钮,它就工作了。
根据您的HTML,这行代码:
var canvas = iframe_canvas.getElementById("canvas");
应该这样才能在div:中找到合适的id值
var canvas = iframe_canvas.getElementById("canvasdiv");
您省略了添加<canvas>
元素本身的代码。你确定它的id
是canvas
吗?
如果是这样,那么您可能会遇到有关访问iframe内容的同源策略问题。
您的代码只需要一部分就可以了。代替getElementById("canvas")
具有getElementById("canvasdiv");
相关文章:
- 重定向iFrame中的父URL
- 如何使用JS/jQuery在另一个网站上显示iframe中的特定内容
- 动态创建的iframe中的window.onerror在lne 0处给出脚本错误
- 通过提示中的循环触发iFrame中的输入按钮(JavaScript)
- iframe中的jQuery查找元素不起作用
- 是否可以添加<脚本>添加'_someTag'到iFrame中的URL
- 从iframe中的子域进行JavaScript跨域访问
- 突出显示页面上嵌入的iframe中的单词
- iframe中的jquery-click元素
- parent和iframe中的Bootstrap.js文件
- 将iframe中的css类应用于主文档
- iframe中的iframe没有滚动
- 如何将事件侦听器添加到跨域iframe中的元素中
- 如何防止iframe中的链接在新选项卡中打开
- 如何清除iframe中的所有内容
- 如何禁用Iframe中的所有单击
- 如果iframe在src(pdf或text)中有非html文档,则iframe中的onload不起作用
- 更改多个 iframe 中的文本框属性
- 如何检查 iframe 中的锚标记是否包含 URL
- 如何使 iframe 中的内容响应式