前端跨iframe传参

随手记

问题背景:

一个前端的页面,嵌套多个iframe,iframe间如何高效地通讯?

问题研究:

使用 cookie等缓存?

通过dom的parent来获取?

可以是可以,但是还不够随心所欲,各有各的限制,用着还麻烦。

不妨使用window对象。

window对象是什么?

f12可以看出,拥有非常多的方法,全面且强大

 提到window对象,大家第一个想到的或许是调用window的某些方法如:window.location

但是其实window对象也可以用来做缓存啊!

使用window.top,直接无视firame之间的距离,直接缓存数据,取数据

数据类型随便存,你存什么就是什么

 

最重要的是,还能存方法!!!

归纳总结:

window是缓存神器,不过也有致命缺陷,浏览器刷新后,缓存数据丢失!

但是,看业务场景,大多数跨iframe之间的通讯不会跨越一次浏览器的刷新。

至于方法的定义与全局数据的缓存,一般页面刷新后,页面重新获取数据,随之也会重新缓存方法,缓存数据。

总之,业务场景合适情况下,使用window缓存数据,贼舒服!

posted @ 2021-09-17 22:53  q彩虹海q  阅读(188)  评论(0)    收藏  举报