我的解决方法:
第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个。