javascript - js如何获取跨域iframe 里面content
天蓬老师
天蓬老师 2017-04-10 16:53:38
[JavaScript讨论组]

求教js能否获取iframe里面的通过src获取的内容;
其中src可能存在跨域。

现有的获取方式

var test = document.getElementsByClassName("iframeItem");
var content =test[0].contentDocument||test[0].contentWindow.document;

但是会报错跨域:

Blocked a frame with origin "http://xxx.com" from accessing a cross-origin frame

求大神指教

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(4)
怪我咯

我最近也遇到了这个问题,因为我需要获得iframe的高度,但是取不到,就无法撑开iframe层
我查了很多资料,但是都被跨域的问题给难住了。。
最后我看到了小tip:iframe高度动态自适应
可以利用iframe的window.top.location实现跨域,将iframe的参数通过url传给父页面
但是这个方法也不是很好,现在还没有找到更好的办法

ringa_lee

跨域。。不能获取。。除非跨域的网站你有控制权postmessage 传递信息。。

天蓬老师

跨域是无法解决的,如果有你有两个网站的权限的话,可以通过一些 hack 的方式绕过来通信。
如 window.frames 属性(IE并不能全兼容)
或者 https://github.com/ternarylabs/porthole

大家讲道理

这种情况一般涉及到跨域的话,都不去直接操作dom,都会想html5的on/postmessage一样。可以利用事件进行通讯。
可以参照这里有的https://github.com/YataoZhang/xMan 看frame方法。就是处理这种情况的。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号