Javascript下载功能仅下载部分内容

时间:2019-09-28 17:55:36

标签: javascript jquery

我希望通过单击按钮来下载HTML文件中的某些内容,并且我发现一些可以在初始测试中运行的代码,但是当我将其实现到我的网站时,我发现下载的文件仅包含一小部分要下载的内容中的一个。

我使用的方法是否存在某种限制,如果存在,下载更大大小文件的过程是什么?

请参阅下面的当前方法。我已经省略了点击事件,因为那很好。

let openingCode = $('.openingCode').text().trim()
let bodyCode = $('.emailContent').html().trim()
let closingCode = $('.closingCode').text().trim()
let contentToCopy = openingCode + bodyCode + closingCode
console.log(contentToCopy)

let downloadName = $('.fileNameText').val()
var a = document.body.appendChild(
  document.createElement("a")
);

a.download = downloadName + ".html";
a.href = "data:text/html," + contentToCopy;
a.click();

更新

按照下面的建议,我已更改代码以使用blob代替。我努力地遵循所提供的示例,以便找到其他一些使用blob下载html文件的人的示例,并对我的代码进行了一些更改。但是,我下载的文件仍在内容的同一位置结束。

下面的新代码

var a = document.body.appendChild(
       document.createElement("a")
   );
   var blob = new Blob([contentToCopy], {type: "text/html"});
   var url = URL.createObjectURL(blob);
a.href = url
a.download = downloadName + ".html";
a.click();

更新2

我的上述更新是菜鸟错误!我正在查看的是我上次部署的版本,而不是最新的本地版本!

使用Blob有效!

0 个答案:

没有答案