首页 > js如何获取跨域iframe 里面content

js如何获取跨域iframe 里面content

求教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

求大神指教


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


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


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


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

【热门文章】
【热门文章】