首页 > 解决方案 > 使用 jQuery/Javascript 通过 id 下载文件

问题描述

我有100多篇文章。每篇文章都附有不同的 PDF 文件。有一个用户必须填写并被重定向到感谢页面的表单。代码如下。

document.addEventListener( 'wpcf7mailsent', function( event ) {
    location = 'https://example.com/thankyou';
}, false );

在上面的代码中,我想添加下面的代码,以便触发下载。如何结合这两个代码?

$(document).ready(function(){
    $("#download a").trigger("click");
});

HTML格式的文章:

<p>Content goes here</p>
<p id="download"><a href="https://example.com/path/file.pdf">Download</a></p>

如果有更好的方法,请提出。

标签: javascriptjquery

解决方案


传入一个get参数。

由于您正在重新加载一个新页面,您应该传递一个 get 参数来指示下载应该开始。

document.addEventListener( 'wpcf7mailsent', function( event ) {
    location = 'https://example.com/thankyou?download';
}, false );

然后在您的页面上确实有下载文件。

$(document).ready(function(){
  if (window.location.search.includes("download")){
    $("#download a").trigger("click");
  }
});

如果您在单个页面上有一个列表,您可以在下载参数中传递一个参数 ?download="1234.zip"并将其用作您的目标。如果您使用此方法,请小心,以免您对 JS 注入敞开心扉。


推荐阅读