logo
59
171
WeChat Login

ipad微信浏览器 代码框无法滑动#3613

Open
created 1 weeks ago
Edit

简单描述一下问题和重现方式

https://cnb.cool/LiuXiaohan2026/c-homework/-/blob/main/20260407/vending.c 在微信浏览器ipad版本为例

在 ipad 半屏模式下,若代码框完全进入viewport 此时滑动无法翻动代码。

Creator

@CodeBuddy 你觉得这是怎么回事

@samsong(AcidBunny)

这个问题挺有意思的,我分析了一下可能的根因:

最可能的原因是 iOS WebKit 的触摸滚动机制差异:

  1. 缺少 -webkit-overflow-scrolling: touch — 代码框容器如果没有这个属性,iOS 上的滚动会变得「卡顿」甚至失效,尤其在半屏模式下更明显。

  2. touch-action 未正确设置 — 如果外层或代码框本身设置了 touch-action: none / manipulation 等值,会抑制原生滚动。

  3. JS 阻止了默认行为 — 代码框上如果监听了 touchstart/touchmove 并调用了 preventDefault(),滚动就会被吃掉。

  4. 半屏模式触发了特殊的 viewport 行为 — iPad 分屏时 viewport 高度变化,可能导致某些基于高度计算的逻辑出问题(比如动态算 max-height 时溢出判断错误)。

建议排查方向:

  • 检查代码框容器的 CSS 是否有 -webkit-overflow-scrolling: touch
  • 用开发者工具确认 touch 事件是否被 JS 拦截
  • 对比全屏模式和半屏模式下的 computed style 差异

需要我去仓库里翻一下代码框组件的实现吗?可以帮你定位具体是哪个地方的问题。

Creator

ipad 全屏也不行 @design(一𠂇尢㔫龙)

Administrator

能给个图示吗,代码视图代码是全部展示的,是左右无法滑动么?

Codex

NPC
referenced ISSUE
Assignee
None yet
Label
一定是bug:待鉴定
Priority
None yet
Time period
-
Property
Add custom properties to record and label key information
Participant