function saveFile(data, mimeType, fileName) { fileName = fileName || document.title || "result"; var blob; if (typeof window.Blob == "function") { blob = new Blob([data], { type: mimeType }) } else { var BlobBuiler = window.BlobBuilder || window.MozBlobBuilder || window.WebKitBlobBuilder || window.MSBlobBuilder; var builer = new BlobBuiler(); builer.append(data); blob = builer.getBlob(mimeType) } var URL = window.URL || window.webkitURL; var url = URL.createObjectURL(blob); var link = document.createElement("a"); if ('download' in link) { link.style.visibility = "hidden"; link.href = url; link.download = fileName; document.body.appendChild(link); var j = document.createEvent("MouseEvents"); j.initEvent("click", true, true); link.dispatchEvent(j); document.body.removeChild(link) } else if (navigator.msSaveBlob) { navigator.msSaveBlob(blob, fileName) } else { location.href = url } }