我在 discourse 社区使用 s3 来托管我的文件,我制作了一个 iOS 应用,需要下载 pdf 文件而不是在应用中打开。
我找到了一个下载链接的解决方案:
<a> download File</a>
但是对于上传到 s3 的 pdf,我不知道该怎么做。
我在 discourse 社区使用 s3 来托管我的文件,我制作了一个 iOS 应用,需要下载 pdf 文件而不是在应用中打开。
我找到了一个下载链接的解决方案:
<a> download File</a>
但是对于上传到 s3 的 pdf,我不知道该怎么做。
编辑:我误解了主题,删除我的答案 ![]()
谢谢 thoka ![]()
嗯。看来他要求的和我功能请求完全相反……
根据这个来源,您应该可以通过在这些链接中添加 download 来实现所需行为,只需使用主题组件即可。
我需要找到一种方法来更改我所有的pdf链接……差不多有3000个链接
应该是重映射 discourse 的问题
谨防:先在暂存站点上进行测试。它可能无法按预期工作。
你好 ![]()
我认为这个话题和这个一样:Force download pdf on IOS
为此,您必须使用 api.decorateCookedElement。
类似这样的代码应该可以工作 ![]()
将其放置到组件的 Header 部分。
<script type="text/discourse-plugin" version="0.8.42">
api.decorateCookedElement(
element => {
const pdfFiles = element.querySelectorAll("a.attachment[href$='.pdf']");
if (!pdfFiles.length) {
return;
}
pdfFiles.forEach((pdf) => {
pdf.setAttribute("download", "");
});
},
{ id: "download-pdf", onlyStream: true }
);
</script>
我在我的设备上测试过,对我来说是有效的,但如果您想使用其他属性等,您可以轻松更改……希望这对您有帮助 ![]()