你好,我看到有一个禁用音频下载的选项:
在 onebox/lib/onebox/engine/audio_onebox.rb at main · discourse/onebox · GitHub
和
在 discourse/lib/oneboxer.rb at 03998e0a299b7ae89678e2854e3abf84bd6ef132 · discourse/discourse · GitHub
所以我尝试使用以下方法进行设置:
./launcher enter app
rails c
SiteSetting.disable_onebox_media_download_controls=true
以及在这里:
vi containers/app.yml
在 params: 下添加
disable_media_download_controls: true
disable_onebox_media_download_controls: true
在 env: 下添加
DISCOURSE_DISABLE_ONEBOX_MEDIA_DOWNLOAD_CONTROLS: true
但音频仍然可以通过 onebox 的“下载”选项进行下载。有人能帮忙吗?非常感谢。
1 个赞
在帖子末尾的三个点处有一个下载选项:请参阅此帖中的图片:
我希望隐藏/禁用明确的下载选项,同时仍然允许用户收听音频。
Jagster
(Jakke Lehtonen)
4
我还是不明白。Discourse 不能流式传输,所以必须下载音频文件才能收听。或者我完全错了?
或者,当用户不知道自己在下载时,您是否接受下载,因为用户的设备没有询问应该保存在哪里?
然而,音频仍然可以通过录音来保存 
抱歉——我一点忙都没帮上,但我很想了解为什么、什么、在哪里以及所有的一切 
我非常薄弱的一点是,这种禁用尝试很少成功,或者不需要。但如果可以做到,那也很好。
1 个赞
如果允许显式下载选项,音频/视频内容可能会在其他地方存储/使用/商业化,而这些地方可能未正确授权知识产权。因此,最好将禁用显式下载选项作为默认选项。
您能否建议如何在设置/代码级别实现这一点?谢谢。
就网站(使用 discourse)本身而言,重要的是要避免任何未来的知识产权相关问题。即使作者使用了 TC 或某种主题,任何侵犯知识产权的行为都可能使网站承担潜在损害赔偿等责任。即使网站似乎与之无关,仅仅因为它充当了交流渠道,一些律师也可能有其他想法。
因此,禁用显式下载选项应该非常有用,因为您在 YouTube 等大多数大型网站上都看不到此类选项。有人能帮忙提供实现这一目标的代码/设置吗?
1 个赞
Falco
(Falco)
9
之后,您需要重新烘焙或编辑带有本地音频的帖子。您尝试过吗?
1 个赞
Falco
(Falco)
12
点击帖子 :kbd: … 按钮,然后点击
按钮,最后点击“Rebuild HTML”
Falco
(Falco)
15
第二个可以工作(没有下载选项),但第一个仍然存在。
Falco
(Falco)
17
我明白了,站点设置只影响 onebox,所以只影响第二种音频,而不影响第一种,因为它在技术上不是 onebox。
Falco
(Falco)
19
如果你想深入研究代码,它来自:
你需要在该上下文中以某种方式接收站点设置并进行处理。
2 个赞
作为一个硬编码的快速修复,我尝试了:
./launcher enter app
vi app/assets/javascripts/pretty-text/addon/discourse-markdown-it.js
并将 controlsList="nodownload" 追加到 \u003caudio preload="metadata" controls\u003e
然后运行 ./launcher restart app
但仍然有下载选项。我应该重建应用程序吗?
Falco
(Falco)
21
这行不通,因为 JavaScript 是由我们相当复杂的资源管道编译的。
如果您想要一个快速且粗糙的解决方案,一个监听我们的 decoratedCooked 回调并更改 audio 元素的组件是您的最佳选择。您可以在 Discourse 主题开发者指南 中了解它。
1 个赞