禁用整页 pinch 缩放
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 0
- Avg merge
- 1h 7m
- Merged PRs (30d)
- 969
Description
用户直接反馈(对话交办,非 sprint/feature 正规流程,紧接 #2902 的后续):
trackpad 双指捏合(pinch)可以缩放整个网页,不是期望的产品行为。
修复方案:
- 新增 `apps/web/components/system/disable-page-zoom.tsx`,挂在根 `Providers` 里,
拦截 `ctrlKey` 的 `wheel` 事件(Chrome/Edge/Firefox trackpad 捏合的实际派发路径)
与 Safari 私有的 `gesturestart`/`gesturechange`/`gestureend` 事件。
- `globals.css` 给 `html, body` 加 `touch-action: pan-x pan-y`,挡住触屏设备的
捏合缩放手势。
本 issue 为 ad-hoc 修复的轻量追溯标记(见 `.harness/instructions/ad-hoc-fix-pr-sop.md`
第 4 条),不走完整 sprint feature 生命周期。
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading apps/web/components/system/disable-page-zoom.tsx, the root Providers setup, and globals.css, then review .harness/instructions/ad-hoc-fix-pr-sop.md item 4 for context. Done means browser pinch gestures no longer zoom the page across Chromium, Firefox, Safari, and touch devices, while normal horizontal and vertical panning still works.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 84/100