表情符号有时不显示,由于插件交互,我看到的是它们的文本描述符

你好,

我在 Windows 10 和 Android 10 上的几个特定 Firefox 配置文件中遇到了令人困惑的表情符号显示问题。

在这些有问题的配置文件中,每当 Discourse 对话页面加载时,页面内的所有表情符号都会保持“未转换”状态。也就是说,显示的是它们的描述字符串(即位于两个冒号之间的字符串,例如 :smiling_donkey:),而不是实际的表情符号。然而,如果执行以下任一操作:

  • NoScript 从“受信任”切换为“不受信任”,然后再切换回“受信任”
  • 在该页面上将 AdGuard AdBlocker 从“启用”切换为“禁用”
  • 或者——这更令人惊讶:最初在 AdGuard AdBlocker 禁用的情况下加载页面,然后在该页面上将其从“禁用”切换为“启用”

页面就会重新加载,并且所有表情符号都能按预期显示。

然而,简单的页面刷新(F5)却无法让表情符号正常显示。似乎有无关于 NoScript 核心功能、却与该扩展程序相关的某种因素在干扰表情符号的显示。

即使卸载了 AdGuard AdBlocker,或者从未安装过它,这种行为依然存在。不过,它触发页面重新加载的方式似乎与普通的 F5 刷新不同,因此能够显示表情符号。这与 NoScript 本身在修改域名权限后导致页面重新加载的方式类似。

使用全新的配置文件也无法解决此问题,因此如果您能提供一些关于可能导致此问题的见解,我将不胜感激。

当你在这里提到 NoScript 时,具体指的是什么?这是浏览器自带功能、浏览器扩展,还是你以其他方式启用了 NoScript?不过对我来说,表情符号在 Firefox 上运行良好 :confused: :thinking:,而且我也使用了广告拦截器并启用了 Firefox 的跟踪保护功能。

你好 Osiuke,
我指的是 NoScript 安全套件 浏览器扩展
附上一张截图以便说明。

好的,那这就不是 Discourse 的问题了,尤其是普通版 Firefox 安装后显示表情符号很正常。你觉得呢?

我想 NoScript 的开发者大概也会给我类似的回复:“这不是 NoScript 的问题,因为你启用了脚本,但他们的网站仍然无法正常运行”,诸如此类。

这真的感觉像是一个由 Discourse、NoScript 以及可能其他因素之间某种奇怪交互引发的极端情况。尤其是因为这个问题在我安装了 NoScript 的 Firefox 配置中并非系统性地出现。如果有人能协助我排查问题根源,或许就能追踪到潜在的 bug?

我们仅针对受支持浏览器的原生版本进行测试,而该方案运行良好(我们团队半数成员将 Firefox 作为日常浏览器),因此我们无需在此投入精力。我们无法承担追踪由众多浏览器扩展引入的缺陷的成本。

如您所愿 :man_shrugging:
不过,显然有一些奇怪的事情正在发生,而且这与 Discourse 代码对页面所做的操作有关。我使用 NoScript 已经超过十年了,这还是头一回遇到这种情况。希望这种神秘的行为不会在将来引发其他副作用。