// 获取当前URL的参数,并将它们传递给player.html window.onload = function() { // 获取当前URL的查询参数 const currentParams = new URLSearchParams(window.location.search); // 创建player.html的URL对象 const playerUrlObj = new URL("player.html", window.location.origin); // 更新状态文本 const statusElement = document.getElementById('redirect-status'); const manualRedirect = document.getElementById('manual-redirect'); let statusMessages = [ "准备视频数据中...", "正在加载视频信息...", "即将开始播放...", ]; let currentStatus = 0; // 状态文本动画 let statusInterval = setInterval(() => { if (currentStatus >= statusMessages.length) { currentStatus = 0; } if (statusElement) { statusElement.textContent = statusMessages[currentStatus]; statusElement.style.opacity = 0.7; setTimeout(() => { if (statusElement) statusElement.style.opacity = 1; }, 300); } currentStatus++; }, 1000); // 确保保留所有原始参数 currentParams.forEach((value, key) => { playerUrlObj.searchParams.set(key, value); }); // 获取来源URL (如果存在) const referrer = document.referrer; // 获取当前URL中的返回URL参数(如果有) const backUrl = currentParams.get('back'); // 确定返回URL的优先级:1. 指定的back参数 2. referrer 3. 搜索页面 let returnUrl = ''; if (backUrl) { // 有显式指定的返回URL returnUrl = decodeURIComponent(backUrl); } else if (referrer && (referrer.includes('/s=') || referrer.includes('?s='))) { // 来源是搜索页面 returnUrl = referrer; } else if (referrer && referrer.trim() !== '') { // 如果有referrer但不是搜索页,也使用它 returnUrl = referrer; } else { // 默认回到首页 returnUrl = '/'; } // 将返回URL添加到player.html的参数中 if (!playerUrlObj.searchParams.has('returnUrl')) { playerUrlObj.searchParams.set('returnUrl', encodeURIComponent(returnUrl)); } // 同时保存在localStorage中,作为备用 localStorage.setItem('lastPageUrl', returnUrl); // 标记来自搜索页面 if (returnUrl.includes('/s=') || returnUrl.includes('?s=')) { localStorage.setItem('cameFromSearch', 'true'); localStorage.setItem('searchPageUrl', returnUrl); } // 获取最终的URL字符串 const finalPlayerUrl = playerUrlObj.toString(); // 更新手动重定向链接 if (manualRedirect) { manualRedirect.href = finalPlayerUrl; } // 更新meta refresh标签 const metaRefresh = document.querySelector('meta[http-equiv="refresh"]'); if (metaRefresh) { metaRefresh.content = `3; url=${finalPlayerUrl}`; } // 重定向到播放器页面 setTimeout(() => { clearInterval(statusInterval); window.location.href = finalPlayerUrl; }, 2800); // 稍微早于meta refresh的时间,确保我们的JS控制重定向 };