首页 新闻 会员 周边 捐助

vue获取第三方iframe中的图片

0
[已解决问题] 解决于 2022-04-08 11:07

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

问题补充:

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

纯海之蓝的主页 纯海之蓝 | 初学一级 | 园豆:132
提问于:2021-08-30 11:41
< >
分享
最佳答案
0

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

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

奖励园豆:5
花飘水流兮 | 专家六级 |园豆:13595 | 2021-08-30 16:18

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

纯海之蓝 | 园豆:132 (初学一级) | 2021-08-30 16:22

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

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

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

花飘水流兮 | 园豆:13595 (专家六级) | 2021-08-30 16:27
其他回答(2)
0

跨域无法获取

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

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

中控易动 | 园豆:918 (小虾三级) | 2021-08-30 16:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册