引用不起作用

在任何浏览器上,引用功能似乎变得完全随机——在某些内容上可以正常使用,而在其他内容上则不显示引用按钮。我看不出其中有什么规律。当前使用的是 Discourse 2.6.0 beta5。

我遗漏了什么?是否有需要调整的设置?但这看起来更像是程序错误。

3 个赞

嘿,Andrew,这是你在 Discourse WordPress 插件中遇到的问题,还是仅在 Discourse 中遇到?如果仅是 Discourse 的问题,请将你的帖子分类改为 Support(目前为 Support > WordPress)。

关于问题本身,能否详细描述一下复现该问题的步骤?例如:

  1. 我在一篇想要引用的帖子中选中了一些文本。
  2. 我没有看到引用按钮出现……?
3 个赞

确实如此。只是你可以引用某些帖子的部分内容,却完全无法引用其他帖子。目前我看不出其中的规律。

我注意到在 Firefox 中,有时能看到“引用”按钮闪现一下,然后很快就消失了。

1 个赞

更多测试表明,确实无法引用出现在引文之后的文本。这显然不是预期的行为,对吧?而引用引文之前的文本则是可以的。

1 个赞

啊,忽略这些。这是一位发帖人手动添加了换行符(起初很难看出来),当你选中看似段落的内容时,引用功能无法生效。所以这其实不是问题。我刚才还在想为什么突然开始这样——原来只是来自一个行为不稳定的用户的帖子。很可能是通过电子邮件提交的帖子,导致行被自动折行。

此事可以视为已解决。

2 个赞

我还是不明白为什么在这种情况下引用会出问题……

1 个赞

你能在这里提供一个无法被引用的帖子吗?

我尝试用下面大家所说的内容在这里复现,但无法复现。

这是一些文本

this 
is 
some
code

以及更多文本

这是一行以 <p> 结尾的行 <p>

以及另一行。

1 个赞

我在 https://caddy.community 上最近一直遇到这个问题。

这似乎发生在选区跨越 HTML 元素边界时。

例如,如果我选中的文本完全包含在独立的 <p> 标签内,且没有 <code> 元素,那么一切正常;但一旦我开始同时选中 <code> 部分,“引用”按钮就不再显示了。

如果我选中整个标题(参见论坛上的任何帮助帖,它们使用 OP 模板并包含标题),引用按钮会出现;但如果我选中一行标题加上下一行(一个 <p> 标签),则不会出现引用选项。

我不确定这是否是根本原因,但看起来确实如此。这一切以前都能正常工作,我可以随意选中任何内容并引用它。这个问题已经存在一段时间了,大概一个月左右?很难确切说明是从什么时候开始出问题的。我们目前使用的是 2.6.0.beta5 版本。

涉及的操作系统包括 Linux、Android 和 Windows 上的 Firefox 浏览器。

3 个赞

我注意到该问题也出现在标题、换行和代码块中。使用的是 Linux 系统上的 Chrome 浏览器。

1 个赞

示例实战:Caddy 社区近期的一篇帖子

在代码边界内引用是有效的(但需要仔细选择)

如果仅通过双击选中代码文本,引用将无效

双击非代码文本时,引用可以正常工作

如果选中范围跨越了代码与正常文本的边界,引用将无效

2 个赞

是的,我也看到了同样的情况。既然其他人也发现了,我们是否应该将其作为缺陷上报?

1 个赞

如果您无法在此复现,那就是网站主题的问题。

2 个赞

这与主题无关。我尝试过多个主题。我不知道如何在这里展示这个问题,但正如提到的,我的部分用户通过电子邮件提交内容,而电子邮件客户端会对换行和硬回车进行各种难以控制的处理。在我注意到此问题的特定页面上,看似连贯的段落实际上是由 <br> 标签分隔的多行 HTML 内容。你可以引用单行,但无法引用整个段落。以下是我尝试展示这一问题的示例:

这只是个测试。看来你无法引用整个
段落,尤其是当

由 br 标签分隔时,就像
这样。

[现在发布后,在 Discourse Meta 网站上可以正常工作,但在我的实例上不行(版本 2.6.0.beta5,最新更新,标准深色主题)。]

2 个赞

你尝试过在安全模式下运行吗?

2 个赞

在安全模式下问题依旧完全相同。

1 个赞

我该如何将此帖子移至错误报告?确实存在某些问题。

除非你能在帖子中复现此问题,否则我们不会将其视为漏洞。

以下是包含 code 的文本,让我试试引用它……

是的,引用正常。

1 个赞

那么这个网站运行的是哪个版本的 Discourse?

这个问题有点微妙,因为在我的网站上它明显存在缺陷,否则我也不会提出这个问题。当然,你需要能够复现这个问题,但是……

1 个赞

最新版本。您可以查看源代码,在顶部附近寻找生成器标签。

您的问题在安全模式下依然存在吗?

编辑:我以为您已经说过,但这仍然是最好的解释。如果您最近没有做过重建,可以尝试执行一次。这通常能解决问题。

1 个赞

是的,正如上文已经提到的,很遗憾地说,安全模式没有任何区别。

2 个赞