Skip to content

v0.2.3 — never block the UI

Choose a tag to compare

@Streamfish-lab Streamfish-lab released this 31 Oct 16:26
· 16 commits to main since this release

v0.2.3 — 2026-10-31

修一个很严重的问题:装上之后整个界面点不动了。

原因是我在 v0.2.1 里把动画层挂到了 下面。那层是 position:fixed; inset:0,铺满整个窗口,但我漏了 pointer-events: none,所以鼠标事件全被它吃掉了。麻烦的是它已经不在 React 树里,组件卸载时如果回调没跑到,这层就一直留在页面上,界面看着正常,点哪儿都没反应。

改了三处:

动画层和 React 渲染的那个空 div 都加上 pointer-events: none,就算残留也挡不住鼠标
挂载前先把上一次可能留下的 .sf-stage-host 删掉
播完之后再挂一个 1.2 秒的定时器,到点直接移除整层,不再依赖卸载回调

因为根层不接鼠标了,点击跳过改成在 window 上捕获监听,并且 stopPropagation 把这次点击吞掉,免得顺带点到下面的按钮。播完监听自动移除。

顺手把 v0.2.2 加的顶部压暗带删了,看着太刻意。

确认方法:本机跑完整一轮,结束后等 7 秒,用 document.elementFromPoint 查屏幕中心,返回的是 body。改之前同一个位置返回的是 dsh-splash-fish 那个 div。