动态创建iframe,加载iframe过程中 为什么会阻塞主页面 整个页面都动不了?

功能是这样的,菜单栏中每点击一项 都要新建一个<iframe>,是为实现tabs标签页切换时可以保存原页面的状态。
原以为iframe加载是异步的过程,不会影响主页面。现在出问题是,点击一项菜单项新建加载iframe过程中 整个页面都没办法操作了,连鼠标右键都没反应,按F12开发者工具都唤不出。为啥?
有谁可以解答一下,以及有解决办法吗?

阅读 5.5k
2 个回答

你创建的iframe越多,你浏览器的线程需要耗损的性能就会越多。这是目前的无解的问题吧。
本质上iframe的加载和父页面的url都是在同一个域下面的,你每次动态加载的时候,等同于浏览器每次都同时加载两个独立的页面,却又要去遵守一个页面加载的原理,自然而然也就会卡顿下来。

iframe 和宿主是同一个线程,相互会阻塞的。
微前端技术似乎大概也许可以缓解下问题。

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