vue iframe 另1个vue打包文件页面,但加载的时候需要等很长时间,怎么可以获取另1个vue页面加载完了?

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

vue iframe 另1个vue打包文件页面,但加载的时候需要等很长时间,怎么可以获取另1个vue页面加载完了?

vue iframe 另1个vue打包文件页面,但加载的时候需要等很长时间,怎么可以获取另1个vue页面加载完了?

应该怎么做?

回复
1个回答
avatar
test
2024-06-27

我的解决方法:

第1步:

// 获取到iframe的页面
    const iframe = window.frames['iframeName']

    if (iframe) {
      // IE浏览器,判断iframe是否加载完成
      if (iframe.attachEvent) {
        iframe.attachEvent('onload', () => {
          // 加载完成
          loading.value = false // 这里如果已经获取到内页页面,关闭外层loading
        })
      } else {
        // 其他浏览器,,判断iframe是否加载完成,如Chrome、edge、safira
        iframe.onload = (e) => {
          // 加载完成
          loading.value = false // 这里如果已经获取到内页页面,关闭外层loading
        }
      }
    }

如果第1步已经获取内页的内容后(也就是iframe.onload时),外层的Loading已经关闭了。

第2步:iframe内页的加载,是由内页的接口和代码判断是否显示或关闭 内页的loading,

思路是2层loading,外层和内页各1个。

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