前端跨iframe传参
随手记
问题背景:
一个前端的页面,嵌套多个iframe,iframe间如何高效地通讯?
问题研究:
使用 cookie等缓存?
通过dom的parent来获取?
可以是可以,但是还不够随心所欲,各有各的限制,用着还麻烦。
不妨使用window对象。
window对象是什么?
f12可以看出,拥有非常多的方法,全面且强大

提到window对象,大家第一个想到的或许是调用window的某些方法如:window.location
但是其实window对象也可以用来做缓存啊!
使用window.top,直接无视firame之间的距离,直接缓存数据,取数据

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


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

归纳总结:
window是缓存神器,不过也有致命缺陷,浏览器刷新后,缓存数据丢失!
但是,看业务场景,大多数跨iframe之间的通讯不会跨越一次浏览器的刷新。
至于方法的定义与全局数据的缓存,一般页面刷新后,页面重新获取数据,随之也会重新缓存方法,缓存数据。
总之,业务场景合适情况下,使用window缓存数据,贼舒服!
浙公网安备 33010602011771号