如何从用户论坛环境(例如从网页浏览器)获取 Discourse 论坛引擎版本

您好!

我阅读了 Writing an effective bug report 这篇文章。
我觉得在不提及网站上运行的论坛引擎版本的情况下报告问题很不寻常。

在这个网站上,我找到了一个可能的方法:打开浏览器的 DevTools,选择 Console 标签页,然后从以下位置获取数据:

globalThis.Discourse.application.APP.version
//'2.8.0.beta8 510219a0daef50056420762f446aac4c88c90ba1'

但同时我也打开了其他带有 Discourse 论坛引擎的网站:
https://forum.manjaro.org/
https://forum.garudalinux.org/
https://discourse.ardour.org/
https://discourse.omnigroup.com/
但在那里我无法找到论坛版本:

globalThis.Discourse.application
// undefined

问题是:

  1. 为什么错误报告中不需要论坛引擎版本?就像它无关紧要一样:将所有内容都当作是相同的,这显然是不对的。
  2. 为什么 https://meta.discourse.org 资源有版本而(所有?)其他资源没有?
  3. 如何在 Discourse 论坛网站上获取应用程序版本?
  4. Discourse 论坛引擎的前端和后端部分是否总是相同的(彼此相等,“严格”关联在一起)?

谢谢!

2 个赞

文档的 head 中有一个生成器标签,其中包含当前版本。

你可以轻松地使用以下命令进行检查:

curl https://meta.discourse.org -s 2>1 | grep generator

或者通过按 F12 在浏览器开发者工具中检查相同的标签。

提供链接会更容易,然后我们可以查看链接中的 HTML 来检查版本。这里有很多非技术用户。

是的。

3 个赞

太棒了。
或者通过页面控制台中的JS进行DOM查询:

document.head.querySelector('meta[name=generator]').content

几乎都回答了,

仍然存在。也许你也知道这个?

1 个赞

所有其他资源都有 generator 标签。这是获取版本的官方且唯一支持的方式。

但你在 Discourse.application.APP.version 对象上看到的差异是由于 新安装默认在生产环境中使用 Ember CLI 构建,Meta 已经在运行此功能,但几周后才会推广到旧站点。

3 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.