如果我在 DiscourseHub 应用中尝试访问一个已删除的主题(例如通过点击通知),我自然会看到 404 页面。404 页面上某些功能被禁用了。例如,我无法看到自己是否已登录。这 presumably 是为了减轻服务器负载,确实合理。
但问题在于,我也无法看到页面底部的控制按钮。为什么仅仅因为我在 404 页面上,就不能向前、向后导航或切换到其他 Discourse 实例呢?
如果我在 DiscourseHub 应用中尝试访问一个已删除的主题(例如通过点击通知),我自然会看到 404 页面。404 页面上某些功能被禁用了。例如,我无法看到自己是否已登录。这 presumably 是为了减轻服务器负载,确实合理。
但问题在于,我也无法看到页面底部的控制按钮。为什么仅仅因为我在 404 页面上,就不能向前、向后导航或切换到其他 Discourse 实例呢?
很奇怪。我在报告之前已经尝试过两次了。在 Meta 上,唯一能让它们显示出来的方法就是按照你建议的那样,点击另一个链接。
编辑:等一下。404 页面对于管理员来说是否有所不同?因为我直到离开 404 页面之前,甚至都没意识到自己已经登录了,而你的头像在那张截图中是可见的。
我无法确定,您能分享一下您看到的情况的截图吗?
这通常发生在页面内容的高度接近视口高度时。如果你在 404 页面向上或向下滑动,底部的控件是否会开始显示?
我不确定我们在此能做什么,而且这应该是一个极其罕见的用例(例如,从推送通知进入 404 页面)。
不,它们不会显示。我知道这是怎么回事。
对我来说,点击进入已被删除的话题并不那么罕见。这种情况发生得足够多,以至于我已经弄清楚了何时会发生、具体会发生什么以及如何退出这种状态。(强制退出应用是我通常用来退出这种状态的方法,因为这是我最初找到的解决办法。)但没错,这确实是一个边缘情况。
我不知道这些控件是在哪里生成的。我原本以为是在应用内部,而不是 Discourse 本身。如果是这样,那么应用会根据你所在的页面突然不显示必要的导航控件,这在我看来有些奇怪。是否值得修复,由你们决定。我只是知道,每当这种情况发生时,我总需要花点时间才能弄清楚到底发生了什么。(上下滚动并等待控件出现,但它们始终不显示。过去,我会直接强制退出,以为应用只是无法正常工作。)既然我现在终于弄清楚了导致这种情况的原因,我想还是报告一下比较好。
祝好。
它们是在 Discourse 中生成的,而不是在应用中。当我们实现该功能时,我们尝试了两种方案,而将其放在 Discourse 中体验要顺畅得多。
我从未遇到过这个界面,但不同用户使用 Discourse 的方式各不相同,所以我理解这对其他人来说可能是常见情况(并且是一种令人沮丧的体验)。正如你所怀疑的,我认为你被提供的是一个用于 404 的快速静态页面。而且我相当确定,静态页面中不包含底部的应用控件,这就是为什么向上或向下滚动没有任何效果。我会进行调查,看看是否容易修复,以便在静态页面中添加这些控件(老实说,我怀疑这并不简单)。
有意思。
顺便提一下,我刚刚查看了常见问题页面,我原以为那是一个“静态页面”,但控制选项依然存在。
不,FAQ 仍然是 Ember 应用的一部分。上文提到的“静态页面”,是指完全不加载 Ember 应用的页面。这类页面并不多。
我进行了一些快速测试,发现只有当我在浏览器中手动输入错误的 URL 时,才会遇到非 Ember 的 404 页面。如果点击 Discourse 内部指向 404 的链接,渲染出的页面来自 Ember,因此在 DiscourseHub 中会包含底部的导航控件。我通过给自己发送一条包含不存在 URL 的私信来验证了这一点。
在非 Ember 的 404 页面上添加这些控件并不简单,因为相关代码依赖于 Ember 和设备检测,因此我们无法直接将其复制粘贴过去。
当您遇到这个 404 错误时,可以点击一下徽标吗?这应该会将您带回 Ember 应用一侧,之后一切应该都能正常工作……
没错,我现在就是这么做的。(如果我在强制退出前还记得的话,哈哈)
顺便感谢你的解释。