【问题标题】:jquery: how to set download attribute [duplicate]jquery:如何设置下载属性[重复]
【发布时间】:2018-05-09 00:24:48
【问题描述】:

我正在尝试使用 jquery 在链接标签上设置下载属性。 一般来说,我正在使用

<a type="button" id="pdf_modal_button" class="btn btn-primary" href="/download/x.pdf" download target="_blank">Download</a>

可以很好地下载pdf。

生成链接时出现问题:

<a type="button" id="pdf_modal_button" class="btn btn-primary" href=/download/>Download</a>

然后尝试用jquery更新链接:

    var _href = $('#pdf_modal_button').attr("href");
    $('#pdf_modal_button').attr("href", _href + '/x.pdf')
    $('#pdf_modal_button').attr("download", true)
    $('#pdf_modal_button').attr("target", "_blank")

它将链接更改为 download="true"

<a type="button" id="pdf_modal_button" class="btn btn-primary" href="/download/x.pdf" download="true" target="_blank">Download</a>

这会导致浏览器在新选项卡中打开 pdf 并显示它,而不仅仅是下载。

问题是,我如何让它只有一个下载属性,而不是 download="true"

在下载属性中设置url也不行。

【问题讨论】:

    标签: jquery


    【解决方案1】:

    似乎我想要的是一个空字符串,是通过 chromium 复制元素得出的。

    var _href = $('#pdf_modal_button').attr("href");
    $('#pdf_modal_button').attr("href", _href + '/x.pdf')
    $('#pdf_modal_button').attr("download", "")
    $('#pdf_modal_button').attr("target", "_blank")
    

    生成

    <a type="button" id="pdf_modal_button" class="btn btn-primary" href="/download/x.pdf" download target="_blank">Download</a>
    

    【讨论】:

    • 这是一个答案吗?
    • 它仍然会在新窗口中打开文件
    • 是的,它在新窗口中打开它,下载它,然后关闭窗口,而不是保持打开状态。将其设置为 true 会在新窗口中打开并显示它。
    • 所以您希望它在新窗口中打开,然后在下载后关闭?如果是这样,那就没问题了。
    【解决方案2】:

    您在调用时将其设置为 true

    $('#pdf_modal_button').attr("download", true)

    尝试用下载链接替换 ​​true

    $('#pdf_modal_button').attr("download", "x.pdf")

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多