lsc 3 天之前
父节点
当前提交
faf7a9b450
共有 1 个文件被更改,包括 7 次插入2 次删除
  1. 7 2
      src/views/Student/index.vue

+ 7 - 2
src/views/Student/index.vue

@@ -766,11 +766,13 @@ const processIframeLinks = async () => {
                     tempIframe.style.display = 'none'
                     tempIframe.src = iframeSrc
                     
+                    // 先将临时iframe添加到body,否则onload事件不会触发
+                    document.body.appendChild(tempIframe)
                     // 等待iframe加载完成
                     await new Promise((resolve, reject) => {
                       tempIframe.onload = resolve
                       tempIframe.onerror = reject
-                      // 设置超时时间
+                      // 可选:设置超时时间,避免长时间无响应
                       setTimeout(() => reject(new Error('Timeout')), 5000)
                     })
                     
@@ -785,7 +787,10 @@ const processIframeLinks = async () => {
                         isHTML: false,
                         url: iframeSrc
                       }
-                    }
+                    } 
+                    // 加载完成但无法获取contentWindow,也要移除iframe
+                    document.body.removeChild(tempIframe)
+                    
                   }
                   catch (error) {
                     console.log(`iframe ${iframeSrc} 无法获取contentWindow,使用HTML方式:`, error)