题目描述
目前的需求是,有一个a.页面,在a.页面中iframe引用了b.页面(跨域),b.页面里面有一个接口返回值,如果返回值是空的话,这个a.页面引入b.页面所占的大小要去掉,也就是不显示。
a.页面后续还可能是不同厂家的页面,也可以说不受我们管控(无法在a.页面增加代码),并且也不知道他们的网址信息之类的
postmessage这样的话,就不能用了,由于跨域无法在b.页面引入任何a.页面的变量值
请问大家,还有没有什么办法可以实现
目前的需求是,有一个a.页面,在a.页面中iframe引用了b.页面(跨域),b.页面里面有一个接口返回值,如果返回值是空的话,这个a.页面引入b.页面所占的大小要去掉,也就是不显示。
a.页面后续还可能是不同厂家的页面,也可以说不受我们管控(无法在a.页面增加代码),并且也不知道他们的网址信息之类的
postmessage这样的话,就不能用了,由于跨域无法在b.页面引入任何a.页面的变量值
请问大家,还有没有什么办法可以实现
跨域还是可以有变量值同时支持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
13 回答13.1k 阅读
7 回答2.3k 阅读
3 回答1.4k 阅读✓ 已解决
6 回答1.5k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
3 回答1.5k 阅读✓ 已解决
6 回答1.2k 阅读
没有。
除非浏览器插件或者定制/修改浏览器。