mirror of
https://github.com/SECTL/SecScore.git
synced 2026-07-19 21:14:21 +08:00
回退iOS视口实验并关闭透明窗口以修复黑边与白屏
This commit is contained in:
@@ -20,7 +20,7 @@
|
||||
"resizable": true,
|
||||
"fullscreen": false,
|
||||
"decorations": false,
|
||||
"transparent": true,
|
||||
"transparent": false,
|
||||
"center": true,
|
||||
"minWidth": 800,
|
||||
"minHeight": 600
|
||||
|
||||
@@ -77,43 +77,6 @@ const patchConsole = () => {
|
||||
}
|
||||
patchConsole()
|
||||
|
||||
const syncAppViewportHeight = () => {
|
||||
const rootStyle = document.documentElement.style
|
||||
|
||||
const readViewportHeight = () => {
|
||||
const innerHeight = Number.isFinite(window.innerHeight) ? Math.round(window.innerHeight) : 0
|
||||
const visualViewport = window.visualViewport
|
||||
const visualHeight =
|
||||
visualViewport && Number.isFinite(visualViewport.height) ? Math.round(visualViewport.height) : 0
|
||||
|
||||
return Math.max(innerHeight, visualHeight)
|
||||
}
|
||||
|
||||
const applyHeight = () => {
|
||||
try {
|
||||
const viewportHeight = readViewportHeight()
|
||||
// 避免 iOS 首帧偶发 0 高度把根节点压扁导致白屏
|
||||
if (viewportHeight < 320) return
|
||||
rootStyle.setProperty("--ss-app-height", `${viewportHeight}px`)
|
||||
} catch {
|
||||
void 0
|
||||
}
|
||||
}
|
||||
|
||||
applyHeight()
|
||||
window.setTimeout(applyHeight, 50)
|
||||
window.setTimeout(applyHeight, 300)
|
||||
window.addEventListener("resize", applyHeight)
|
||||
window.addEventListener("orientationchange", applyHeight)
|
||||
const visualViewport = window.visualViewport
|
||||
if (visualViewport && typeof visualViewport.addEventListener === "function") {
|
||||
visualViewport.addEventListener("resize", applyHeight)
|
||||
visualViewport.addEventListener("scroll", applyHeight)
|
||||
}
|
||||
}
|
||||
|
||||
syncAppViewportHeight()
|
||||
|
||||
const disableTouchZoom = () => {
|
||||
let lastTouchEnd = 0
|
||||
|
||||
|
||||
Reference in New Issue
Block a user