Vue KeepAlive为何无法正常缓存 iframe?

作者站长头像
站长
· 阅读数 7

如题。在掘金看到的一篇文章,但是作者对于具体的原因没有说明清楚,希望有大神能够解答。描述如下:

最近做了个项目,其中有个页面是由 iframe 嵌套了一个另外的页面,在运行的过程中发现 KeepAlive 并不生效,每次切换路由都会触发 iframe 页面的重新渲染

文章中提到的原因

iframe 很特别,当其插入到页面时会重新加载,这是浏览器特性,与 Vue 无关

附上原帖链接:KeepAlive 为什么不能缓存 iframe

回复
1个回答
avatar
test
2024-07-01

keep-alive缓存的是虚拟节点,并不是缓存真实dom。iframe页里的内容并不属于节点的信息,所以使用keep-alive依然会重新渲染iframe内的内容。而且iframe每一次渲染就相当于打开一个新的网页窗口,即使把节点保存下来,在渲染时iframe页还是刷新的

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容