Просмотр исходного кода

fix(Student): 修复iframe链接处理中hash部分的拼接问题

当原始链接不包含hash部分时,正确处理参数拼接以避免多余的#符号
lsc 4 дней назад
Родитель
Сommit
1e40c3574f
1 измененных файлов с 6 добавлено и 2 удалено
  1. 6 2
      src/views/Student/index.vue

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

@@ -1380,12 +1380,13 @@ const processIframeLinks = async () => {
                     // 解析URL,处理hash部分
                     // 解析URL,处理hash部分
                     let baseUrl = iframeSrc
                     let baseUrl = iframeSrc
                     let hashPart = ''
                     let hashPart = ''
-
+                    let isHashPart = false
                     // 分离base URL和hash部分
                     // 分离base URL和hash部分
                     if (iframeSrc.includes('#')) {
                     if (iframeSrc.includes('#')) {
                       const parts = iframeSrc.split('#')
                       const parts = iframeSrc.split('#')
                       baseUrl = parts[0]
                       baseUrl = parts[0]
                       hashPart = parts[1]
                       hashPart = parts[1]
+                      isHashPart = true
                     }
                     }
 
 
                     // 构建新的hash部分,添加参数
                     // 构建新的hash部分,添加参数
@@ -1401,7 +1402,10 @@ const processIframeLinks = async () => {
                     }
                     }
 
 
                     // 构建新的URL
                     // 构建新的URL
-                    const newUrl = `${baseUrl}#${newHash}`
+                    let newUrl = `${baseUrl}#${newHash}`
+                    if (!isHashPart) {
+                      newUrl = `${baseUrl}${newHash}`
+                    }
 
 
                     console.log(`幻灯片 ${slideIndex + 1} 的iframe链接已更新:`, newUrl)
                     console.log(`幻灯片 ${slideIndex + 1} 的iframe链接已更新:`, newUrl)
                     // 返回更新后的元素
                     // 返回更新后的元素