| |
| window.onload = function() { |
| |
| const currentParams = new URLSearchParams(window.location.search); |
| |
| |
| 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); |
| }); |
| |
| |
| const referrer = document.referrer; |
| |
| |
| const backUrl = currentParams.get('back'); |
| |
| |
| let returnUrl = ''; |
| if (backUrl) { |
| |
| returnUrl = decodeURIComponent(backUrl); |
| } else if (referrer && (referrer.includes('/s=') || referrer.includes('?s='))) { |
| |
| returnUrl = referrer; |
| } else if (referrer && referrer.trim() !== '') { |
| |
| returnUrl = referrer; |
| } else { |
| |
| returnUrl = '/'; |
| } |
| |
| |
| if (!playerUrlObj.searchParams.has('returnUrl')) { |
| playerUrlObj.searchParams.set('returnUrl', encodeURIComponent(returnUrl)); |
| } |
| |
| |
| localStorage.setItem('lastPageUrl', returnUrl); |
| |
| |
| if (returnUrl.includes('/s=') || returnUrl.includes('?s=')) { |
| localStorage.setItem('cameFromSearch', 'true'); |
| localStorage.setItem('searchPageUrl', returnUrl); |
| } |
| |
| |
| const finalPlayerUrl = playerUrlObj.toString(); |
| |
| |
| if (manualRedirect) { |
| manualRedirect.href = finalPlayerUrl; |
| } |
|
|
| |
| const metaRefresh = document.querySelector('meta[http-equiv="refresh"]'); |
| if (metaRefresh) { |
| metaRefresh.content = `3; url=${finalPlayerUrl}`; |
| } |
| |
| |
| setTimeout(() => { |
| clearInterval(statusInterval); |
| window.location.href = finalPlayerUrl; |
| }, 2800); |
| }; |