移动端向下滚动时,帖子编辑器变为全屏

过去几天,在移动设备(至少是最新版的 iOS)上发布帖子时出现了一个 bug:帖子编辑器会意外地变为全屏模式。

复现步骤:

  • 打开一个主题并开始回复。
  • 在帖子编辑器中输入内容。
  • 点击键盘上的“完成”。此时,编辑器占据屏幕下半部分,而上半部分显示你正在查看的主题。
  • 在主题区域(非编辑器区域)从上往下拖动手指,主题会正常向上滚动。
  • 在主题区域(非编辑器区域)从下往上拖动手指。这应该使主题向下滚动,但实际上却导致帖子编辑器变为全屏。

就我个人而言,在提交帖子前复查时,我通常会重读我回复的内容,以确保我的回应准确且有用。这个 bug 使得这一操作变得极其困难。

3 个赞

我是 Android 用户,遇到了类似问题。
当我点击回复某个话题时,输入框会占据整个屏幕,非常令人烦恼:

直到几天前,输入框只占据屏幕下半部分,这样在撰写回复时还能同时阅读话题内容。

有没有可能修复这个问题?

1 个赞

我们的其中一位 Android 用户也投诉了同样的问题。不过,我尚未在 iOS 上看到类似情况。

您好,
这是一个功能而非缺陷,旨在统一移动设备体验。iOS 已采用全屏高度编辑器,现在 Android 也实现了这一设计。我一直以来在我们论坛的 Android 端都使用全屏高度编辑器,只需设置 height: 100%; 即可。此前非全屏高度的编辑器在横屏模式下会导致问题。

如果这算是一个功能,那它可真是个糟糕的功能。

就在刚才,回复你时,我想确认自己是否误解了你的意思。我不得不先最小化编辑器(打断了思路),查看你的帖子,再最大化编辑器,试图找回原本想说的话,然后继续编辑。

如果目的是统一移动设备的行为,那么应该让 iOS 表现得像 Android,而不是反过来……

有没有可能恢复之前的行为?
如果不能,有什么变通方法吗?

我理解横屏模式的问题,但难道不能在竖屏模式下恢复之前的样式吗?

您可以在移动端的 CSS 中尝试此方法。这将把竖屏模式的高度固定为 250px,但在横屏模式下使用默认的完整高度。

#reply-control {
  @media (orientation: portrait) {
    .keyboard-visible &.open {
      height: 250px;
    }
  }
}

特此说明,我报告的这个问题在 iOS 上是新出现的,因此这可能是一个非预期的副作用。在键盘未弹出(因此我根本无法输入任何内容)时将编辑器设为全屏毫无意义。这只会让在提交前回顾我回复的帖子变得更加困难。

编辑:重读 @RickRoll 的帖子后,听起来我们讨论的是两回事。在 iOS 上,一直无法在撰写帖子的同时阅读帖子。我具体抱怨的是:当编辑器打开时,通过滑动操作滚动屏幕所出现的新行为。

2 个赞

我明白,很抱歉给您带来不便。我在 DiscourseHub 上无法复现您报告的问题。当我在话题中从上到下滚动时,编辑器恢复正常;从下到上滚动时也是如此。设备信息:iOS 14.4.2,iPhone 7 Plus。
但您报告的这个 bug 确实出现在 Safari 中。

是的,我想我们确实在讨论不同的事情。
抱歉抢了话题!:zipper_mouth_face:

1 个赞

感谢提交报告 @seanblue,我可以在 Safari 上复现该问题,将尽快着手修复。

3 个赞

这已通过 https://github.com/discourse/discourse/commit/886f4b589e87e55d8b364c503d495ac62f235a3b 修复。

正如 Don 所指出的,这个仅针对 Android 的独立问题是按设计运行的。我们希望 iOS 和 Android 之间拥有统一的体验,并且我们认为,当软件键盘显示时,编辑器应占用所有可用空间,因为键盘加编辑器本身已经占据了大量空间,没有必要留下例如 50 像素高的帖子流视图。

如果您希望滚动页面并保持编辑器半开,只需使用 Android 上专用的按钮关闭键盘即可(在您的截图中,这是右下角的向下箭头)。

4 个赞

已确认现在可以正常工作了。感谢快速响应!

1 个赞