diff --git a/package.json b/package.json index e25f0eb..f46e579 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "0.1.0", "private": true, "scripts": { - "dev": "next dev", + "dev": "next dev -H 0.0.0.0", "build": "next build", "start": "next start", "lint": "next lint", diff --git a/src/app/play/page.tsx b/src/app/play/page.tsx index 30f6fbf..524e501 100644 --- a/src/app/play/page.tsx +++ b/src/app/play/page.tsx @@ -98,6 +98,25 @@ function PlayPageClient() { Hls: any | null; }>({ Artplayer: null, Hls: null }); + // 解决 iOS Safari 100vh 不准确的问题:将视口高度写入 CSS 变量 --vh + useEffect(() => { + const setVH = () => { + if (typeof window !== 'undefined') { + document.documentElement.style.setProperty( + '--vh', + `${window.innerHeight * 0.01}px` + ); + } + }; + setVH(); + window.addEventListener('resize', setVH); + window.addEventListener('orientationchange', setVH); + return () => { + window.removeEventListener('resize', setVH); + window.removeEventListener('orientationchange', setVH); + }; + }, []); + // 根据 detail 和集数索引更新视频地址(仅当地址真正变化时) const updateVideoUrl = ( detailData: VideoDetail | null, @@ -1012,7 +1031,7 @@ function PlayPageClient() { if (loading) { return ( -
+
加载中...
@@ -1023,7 +1042,7 @@ function PlayPageClient() { if (error) { return ( -
+
播放失败 @@ -1042,7 +1061,7 @@ function PlayPageClient() { if (!detail) { return ( -
+
未找到视频