JavaScript 怎么跨域获取 iframe 中的内容?

比如我的域名是 www.a.com,然后我在页面 www.a.com/a.html 中嵌入了一个 iframe,iframe 中引用了www.b.com ,我对b域名有控制权限

但是在获取iframe内的内容时,出现跨域问题,请问怎么突破这种限制(不用一个域名)

阅读 11.1k
2 个回答

iframe 不存在跨域,除非对面设置了不许跨域请求iframe,
如果这样,iframe里的网页还不是你的就没辙了,是你的百度下解除限制就好了

可以通过一层代理iframe解决跨域问题,需要两个域名下的代码配合

具体来说,需要在www.b.com下再创建一个指向www.a.com的代理iframe,把想读取的数据通过url传给代理iframe,代理iframe接到数据后,可以通过window.topwindow.parent.parent访问到顶层的www.a.com的window对象,如果www.a.com的window下有回调方法,代理iframe就可以通过执行widnow.top.callback(data)把数据传过去。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题