使用浏览器后退按钮,TOC丢失

重现步骤

  1. 打开一个带有目录(toc)的主题(例如:https://meta.discourse.org/t/understanding-user-statuses-roles-and-permissions/35171)
  2. 使用相关主题或通知菜单中的链接导航到另一个主题
  3. 使用后退按钮返回到第一个主题
  4. 现在目录(toc)不显示了
    Missing TOC
3 个赞

我可以重现它。

奇怪的是,如果我们从链接的主题中点击一个主题,就不会发生这种情况:

在另一个 discourse 论坛上,我观察到了完全相反的情况。我访问了一个包含 pn 的目录主题,回来后,我突然发现自己回到了第 30 条私人消息旁边,但目录是空的,而不是导航。由于该论坛没有使用我在这里使用的最新版本,但我无法重现此问题。所以也许这已经修复了。

1 个赞

我刚刚在 Discourse core 中合并了一个修复程序,这应该可以解决此问题。它应该在一小时内在 Meta 上上线。

该错误取决于您在源主题和目标主题中的滚动位置,因此这也许可以解释为什么重现它感觉不一致。如果您滚动到了源主题和目标主题的第一个帖子,那么 DiscoTOC 的显示逻辑就会中断。

8 个赞

抓得好。我最近经常使用目录,尤其是在处理几份较长的文档时,但之前没有遇到过这种行为。不过,根据 @Moin@david 的说法,我现在能够重现它了。

2 个赞

运行正常。

但是现在我可以重现另一个错误了。
当您从带有目录的主题导航到没有目录的主题时,导航不会出现。
它的工作方式相同。唯一的区别是您不使用浏览器的后退按钮。
Missing Navigation
在移动模式下,您可以看到目录是问题所在
Toc too much

2 个赞

我认为这个问题很可能已通过 @awesomerobot 最近合并的 DiscoTOC 大修得到解决。您能否确认一下,@Moin

3 个赞

我在这里的元数据中再也没有注意到任何遗漏的 tocs 或遗漏的时间线

3 个赞