抱歉,各位,我得问一个问题。
当我在 Discourse 安装中上传一张图片到某个主题时,我无法点击图片以弹出该图片的灯箱视图。
这是需要额外安装的插件,还是灯箱功能是 Discourse 内置的?
生成缩略图的功能是正常的,因为上传后,嵌入的图片链接看起来是这样的:

其中的 ...|690x460] 部分可以证实这一点。
然而,上传的图片尺寸远远超过了 4000 x 4000 像素。
Johani
(Joe)
2019 年9 月 27 日 16:04
2
这是开发环境还是生产环境的安装?
在设置站点时,您是否遵循了官方安装指南 ?(如果是生产环境安装)
请访问 your.site.com/sidekiq/,确认您的 Sidekiq 队列中没有任何异常情况,并检查“繁忙”、“已入队”和“已计划”选项卡。
是的,我遵循了官方安装指南。其中似乎没有提到 Sidekiq。
不过,我想我的 Sidekiq 仪表盘目前看起来没问题。
Johani:
这是开发环境还是生产环境的安装?
这是生产环境的安装。
我可能遗漏了什么吗?
Johani
(Joe)
2019 年9 月 27 日 21:14
5
这里故意没有提及 Sidekiq,因为所有功能都应在后台自动运行,无需您进行任何操作。我们会确保这一点。
它在您的网站上无法运行,说明您的配置存在问题。
由于缺乏足够的上下文,很难诊断具体问题。因此,请尽可能提供详细信息。
能否提供您遇到问题的网站链接?
您能否尝试 安全模式 ?
您是否在使用 Cloudflare?
在应该显示灯箱效果的图片页面上,浏览器控制台是否显示任何错误?
在 your.site.com/logs 中是否看到任何异常?
Johani:
能否提供一下你遇到问题的网站链接?
africa.packagetome.com (这不是最终域名,只是一个用于测试的临时环境)
Johani:
能否尝试一下 安全模式 ?
即使在安全模式下,使用默认主题并禁用所有插件后,Lightbox 仍然无法正常工作。
Johani:
你在使用 Cloudflare 吗?
没有。所有服务都运行在 DigitalOcean 10 美元的 VPS 上。
在包含应使用 Lightbox 显示的图片的页面上,浏览器控制台没有显示任何错误。
我无法判断哪些是异常的,因为我目前没有任何关于“正常”情况的记录。
按常理来说,日志中不应该有任何内容吗?
这是我当前日志中的内容:
有没有什么进一步的排查方向可以指点一下?
另外需要说明的是,默认情况下,安装后 lightbox 在此安装中也无法正常工作。
https://forum.devcongress.org
同样运行在 DigitalOcean 上,已按照安装指南操作,未使用 CDN(所有内容均从 VPS 加载)。
自动化功能固然很好,但或许现在正是时候在指南中增加一个章节,说明这些自动化功能的工作原理,以及当它们未按预期工作时如何绕过或解决。
Johani
(Joe)
2019 年9 月 27 日 21:48
8
感谢提供额外详情
其实并非如此。大多数管理员并不关心它如何工作 ,只关心它是否正常工作,而这正是我们非常关注的,并且我们会确保其正常运行。我刚刚搭建了一个新的测试环境,一切在我这边看起来都运行良好。如果您是开发者,并且确实想深入了解其工作原理,欢迎随时查看源代码 。
我理解您的情况,但浏览该网站时,我只看到两个包含图片的公开主题:
https://forum.devcongress.org/t/created-to-initialize-tags/36
以及
https://forum.devcongress.org/t/anyone-still-experiencing-the-on-and-off-of-the-mtn-turbonet/49
这两个主题中的图片尺寸都太小,无法触发灯箱效果。您可以通过 max_image_width 和 max_image_height 参数来控制触发灯箱效果的图片最小高度和宽度。
尺寸超过这些阈值的图片将会被灯箱显示。因此,您可以根据需要自由调整这些数值。
不过,我并不是说添加更大的图片就一定能在那里生效。
我仍在调查以下问题:
africa.packagetome.com
Johani:
这两个主题中的图片都太小,无法启用灯箱效果。
是的,你说得对。我上传了一张更大的图片,现在 forum.devcongress.org 上的灯箱功能可以正常使用了。
我也尝试了同一张图片:https://africa.packagetome.com/t/test-photo-image/37,查看了 Sidekiq 任务从开始到结束的日志,没有任何问题,但灯箱仍然无法显示。
我还尝试在 Firefox 中查看,依然没有灯箱效果。
是的,我是一名开发者。我会四处查看,看看能找到什么。
另外,我使用的是 2.4.0.beta4 (02731ef33e ),以防这可能与问题有关。
出于挫败感,
第一篇文章是:https://africa.khophi.com/t/testing-photo-lightbox/11
图片尺寸为 5471 x 2878,远大于触发灯箱效果的阈值。
尽管如此,灯箱仍然无法工作。这次“魔法”似乎失效了(或者是我出了问题)。正因为是“魔法”,我甚至不知道从哪里开始调试。控制台没有报错,日志中也没有错误,除了这一条:
TypeError: Cannot read property 'create' of undefined
at https://africa.khophi.com/assets/vendor-fae393575cd14697b31e9fdbeb8c016d165a8a3af765ec8ca719a454585aedf4.js:5:2332
at https://africa.khophi.com/assets/vendor-fae393575cd14697b31e9fdbeb8c016d165a8a3af765ec8ca719a454585aedf4.js:5:3286
@Johani 有趣的是,你在自己的环境中运行时光箱效果正常。我是严格按照安装指南,在一个全新创建的 Droplet 上执行的安装。
如果需要,我稍后可以录制整个设置过程的屏幕视频,让你们知道我并没有在任何地方耍什么“反魔法”的把戏。开箱即用的灯箱功能(此处为双关语)至少对我来说无法正常工作。
现在我已经尝试了所有能想到的故障排除方法。全新安装后,灯箱依然无法工作。
否则,我可能会录制我安装新 Discourse 实例的过程,结果灯箱无法工作,因为肯定有什么地方不对,而且我怀疑文档中遗漏了某些内容。
总之,还有没有其他故障排除建议供我参考?
所以我已经有点没别的办法了,也不知道该注意些什么了。
就我一人遇到这种情况吗?
2.4.0.beta6 和 Digital Ocean 也存在完全相同的问题。
同样的问题,Digital Ocean 也是如此。
daemon
(Alex)
2021 年5 月 24 日 17:19
14