首页新闻找找看学习计划

获取iframe内的元素产生跨域的问题

0
悬赏园豆:5 [已解决问题] 解决于 2019-04-27 15:59

动态地在页面中插入 iframe,再获取里面的 canvas 元素,想要设置其尺寸。但是跨域报错了:

Uncaught DOMException: Blocked a frame with origin "null" from accessing a cross-origin frame.

let iframeNew = `<iframe src="source/${entity}.html" id="sourceAni" name="source"></iframe>`;

            $('#meaning').prepend(iframeNew);

            $('#sourceAni').on('load', function() {
console.log(document.getElementById('sourceAni').contentWindow.document.getElementById('canvas'));
            });

在网上查到的解决办法都是把页面放到服务器环境运行,但是我做的项目要求可以离线使用。请问各位还有什么办法吗?

zanetti的主页 zanetti | 初学一级 | 园豆:157
提问于:2019-04-09 01:09
< >
分享
最佳答案
0

后来我把调整画布尺寸的脚本引入到子页面,解决了问题。

zanetti | 初学一级 |园豆:157 | 2019-04-27 15:58
其他回答(1)
0
收获园豆:5
默卿 | 园豆:3869 (老鸟四级) | 2019-04-09 08:39

postMessage 的方式我在网上也看到了,但是我并不是想父子页面通信,就是想在父页面获取到 iframe 里的元素。因为我在子页面设置 canvas 尺寸时,画布变成了白布……

支持(0) 反对(0) zanetti | 园豆:157 (初学一级) | 2019-04-09 09:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册