我们在左上角的品牌页眉菜单在移动设备上点击时仅部分展开,遇到了一个问题。我们已将其设置为不在移动设备上显示该栏。如果我只点击汉堡菜单,它看起来是这样的。
但是,如果我然后向任何方向调整窗口大小,它就会完全展开并显示所有子链接。
如何让它在点击时完全展开,而无需调整窗口大小?
我们在左上角的品牌页眉菜单在移动设备上点击时仅部分展开,遇到了一个问题。我们已将其设置为不在移动设备上显示该栏。如果我只点击汉堡菜单,它看起来是这样的。
但是,如果我然后向任何方向调整窗口大小,它就会完全展开并显示所有子链接。
如何让它在点击时完全展开,而无需调整窗口大小?
我在论坛上发现,当我只点击汉堡菜单时,“slide-in”类没有添加到“menu-panel”div中。
但是,一旦我调整窗口大小,它就会被添加,菜单也能正常工作。
据我所知,“menu-panel”和“slide-in”不是来自我们的主题。但“slide-in”似乎对使其工作很重要。为什么在打开菜单时,“slide-in”不会被添加?为什么调整浏览器窗口大小会突然添加它?
这是我在移动设备上看到此组件的样子,没有安装其他主题:
我无需调整大小即可获得此效果,并且当我调整大小时,根本不会获得 slide-in 类……
看起来您使用的是 Discourse 3.2 版本,而不是当前的 3.3 版本。此组件有一些更新依赖于 3.3 版本,因此您目前无法获得这些更新。
更新 Discourse 和该组件可能会解决您所有的问题,但如果不能,则可能与其他自定义设置存在冲突。
你说得对,我们正在使用 Discourse 3.2.3。我从这篇帖子中了解到问题也存在于 3.3 版本中,但你的看起来不错。我会检查我们是否可以升级到 3.3,或者也许安装一个旧版本的 brand-header 组件。
有没有地方发布了该组件需要 3.3 版本?我到处都没看到。
你知道那些依赖 3.3 的更新是什么时候做的吗?或者最后一个能与 3.2 兼容的版本是什么?
它没有明确要求,但有时在进行更新时,我们知道依赖于较新的 Discourse 功能,我们会将主题组件固定到旧版本的 Discourse,这将阻止它接收不兼容的更新。
完成此操作后,详细信息将包含在 .discourse-compatibility 文件中:
在这种情况下,您将被固定到哈希值为 12e6f76e0508b262517efd5db2d7feca261dff86 的提交,即 DEV: move widgets to dedicated files, cleanup (#28) · discourse/discourse-brand-header@12e6f76 · GitHub
自那次更改以来,由于 Discourse 头部工作方式的变化,该组件的代码已被完全重构。
我认为这突显了一个值得我们考虑的好问题,这些信息相当隐蔽且技术性强。也许我们可以在管理面板中添加一条消息,说明某些组件已停止接收更新,因为它们需要最新版本 Discourse 的功能。
我 fork 了该组件,将其回滚到 commit 12e6f76,并在我们的论坛上安装了它,但问题仍然存在。这不应该能解决它吗?
不,那是您已经固定的提交,您错过了之后的所有内容。
我一定有什么地方没搞清楚。我们以前没有这个问题。有一次,问题出在组件进行了需要 Discourse 3.3 的更改,我们更新了组件,但我们仍然在使用 Discourse 3.2。是这样吗?如果是这样,最简单的解决方案不就是回滚到与 Discourse 3.2 兼容的最后一个组件版本吗?
该组件不会收到 3.3 的那些更改。当组件固定到特定的 Discourse 版本时,它基本上会保持当前状态,直到 Discourse 更新。
所以你不应该需要这样做……固定应该会自动使其保留在最新兼容的版本上,但有可能这个 bug 已经存在于你正在使用的组件版本中了。
我明白了……很聪明。我们可以合理地假设维护者不会努力让该组件与 3.2 正常工作吗?
我复制了一个论坛并升级到了 3.3,是的,这确实解决了问题。我正在与我们的管理员确认是否有可能将实时论坛升级到 3.3。
谢谢!
是的,不幸的是,我们只有能力维护最新版本 Discourse 的主题组件,因此有时旧版本会出现这种情况。
我们终于成功将实时论坛更新到了 3.3 版本,它突然就能用了。再次感谢!
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.