jQuery addClass example

Change class name on click in jQuery

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.5/jszip.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/1.3.8/FileSaver.min.js"></script>

<button id="saver">Click To Save</button>

JavaScript

// Get list of files to save (either by GET request or hardcoded)
filesList = ["f1.json /echo/jsonp?name=1", "inner/f2.json /echo/jsonp?name=2"];

function createZip() {
  zip = new JSZip();

  // make bunch of requests to get files content
  var requests = [];
  // for scoping the fileName
  _then = (fname) => data => ({ fileName: fname, data });
  for (var file of filesList) {
    [fileName, fileUrl] = file.split(" ");
    requests.push($.get(fileUrl).then(_then(fileName)));
  }

  // When all finished
  $.when(...requests).then(function () {
    // Add each result to the zip
    for (var arg of arguments) {
      zip.file(arg.fileName, JSON.stringify(arg.data));
    }

    // Save
    zip.generateAsync({ type: "blob" })
      .then(function (blob) {
      saveAs(blob, "site.zip");
    });
  });
}

$("#saver").click(() => {
  createZip();
});