首页 新闻 搜索 专区 学院

vue获取第三方iframe中的图片

0
[待解决问题]

已经拿到了iframe中的body,该怎么样继续往下拿到里面的图片呢?
const iframeHtml = document.getElementById('iframe').contentWindow;
const iframeBody = iframeHtml.document.getElementsByTagName('body')[0];
接着无论怎么获得都报错。。。

问题补充:

如果换成html2canvas能获取到iframe中的内容并转成图片吗

纯海之蓝的主页 纯海之蓝 | 初学一级 | 园豆:124
提问于:2021-08-30 11:41
< >
分享
所有回答(3)
0

跨域无法获取

by.Genesis | 园豆:2609 (老鸟四级) | 2021-08-30 12:00
0

域名不同的情况下,会存在跨域,需要在嵌套的网站页面中设置允许访问的域名

中控易动 | 园豆:898 (小虾三级) | 2021-08-30 16:05
0

这就是所谓的安全(之一)。你能iframe已经不错了,一些网站根本不允许iframe。

这些是通用浏览器“安全定义”,自己实现的浏览器除外,比如cookie httponly,难道客户端能不知道吗,不是,只是浏览器不让你js干。

花飘水流兮 | 园豆:13072 (专家六级) | 2021-08-30 16:18

我也知道安全问题不允许访问第三方的iframe内容,所有打算换成html2canvas插件看能不能获取里面的图片,但好像其原理也是读取节点内容,搞了好久html2canvas获取的图片都是空白。

支持(0) 反对(0) 纯海之蓝 | 园豆:124 (初学一级) | 2021-08-30 16:22

@纯海之蓝: 服务器解析。

支持(0) 反对(0) 花飘水流兮 | 园豆:13072 (专家六级) | 2021-08-30 16:26

当然如果 你客户端 不是通用浏览器,那n多办法可以解决。

支持(0) 反对(0) 花飘水流兮 | 园豆:13072 (专家六级) | 2021-08-30 16:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册