iframe 跨域页面通信,在子页面删除父页面中引入子页面的iframe元素

新手上路,请多包涵

题目描述

目前的需求是,有一个a.页面,在a.页面中iframe引用了b.页面(跨域),b.页面里面有一个接口返回值,如果返回值是空的话,这个a.页面引入b.页面所占的大小要去掉,也就是不显示。
a.页面后续还可能是不同厂家的页面,也可以说不受我们管控(无法在a.页面增加代码),并且也不知道他们的网址信息之类的
postmessage这样的话,就不能用了,由于跨域无法在b.页面引入任何a.页面的变量值
请问大家,还有没有什么办法可以实现

阅读 2.7k
3 个回答

没有。

除非浏览器插件或者定制/修改浏览器。

跨域还是可以有变量值同时支持a 和b 页面访问和读写的,就是b 页面的window.name 属性。
你们可以约定,a 页面定时访问b 页面的window.name 属性,如果等于某个值,就把b 页面的空间去掉。而b 页面请求接口后,安装约定修改window.name 属性就好了

新手上路,请多包涵

在b页面的获取空值时,在b页面使用方法parent.document能拿到父页面(a)中的所有document对象,根据实际将b页面的iframe移除或隐藏即可,例如获取父页面(a)的body对象parent.document.body

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