js如何获取跨域iframe 里面content

每天学习一点点 编程PDF电子书、视频教程免费下载:
http://www.shitanlife.com/code

 

 

其中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并不能全兼容)

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

 

 

 

每天学习一点点 编程PDF电子书、视频教程免费下载:
http://www.shitanlife.com/code

posted @ 2018-04-13 09:30  漫步CODE人生  阅读(2461)  评论(0编辑  收藏  举报