Enlaces abiertos creados por createObjectURL en IE11

¿Por qué no puedes abrir el enlace en la siguiente demostración?
http://html5-demos.appspot.com/static/a.download.html

Ni siquiera puede hacer clic derecho y abrirlo en una nueva pestaña / ventana. ¿Hay alguna configuración en el navegador que deba personalizar?

Esta demostración usa Blob URL que no es compatible con IE debido a restricciones de seguridad.

IE tiene su propia API para crear y descargar archivos, que se llama msSaveOrOpenBlob .

Aquí está mi solución de navegador cruzado que funciona en IE, Chrome y Firefox:

 function createDownloadLink(anchorSelector, str, fileName){ if(window.navigator.msSaveOrOpenBlob) { var fileData = [str]; blobObject = new Blob(fileData); $(anchorSelector).click(function(){ window.navigator.msSaveOrOpenBlob(blobObject, fileName); }); } else { var url = "data:text/plain;charset=utf-8," + encodeURIComponent(str); $(anchorSelector).attr("download", fileName); $(anchorSelector).attr("href", url); } } $(function () { var str = "hi,file"; createDownloadLink("#export", str, "file.txt"); }); 
  export 

Aquí está la función para descargar cualquier archivo como blob. (probado en IE y No-IE)

 var download_csv_using_blob = function (file_name, content) { var csvData = new Blob([content], { type: 'text/csv' }); if (window.navigator && window.navigator.msSaveOrOpenBlob) { // for IE window.navigator.msSaveOrOpenBlob(csvData, file_name); } else { // for Non-IE (chrome, firefox etc.) var a = document.createElement("a"); document.body.appendChild(a); a.style = "display: none"; var csvUrl = URL.createObjectURL(csvData); a.href = csvUrl; a.download = file_name; a.click(); a.remove(); } }; 

Nota: Por favor, cambie el tipo de su archivo, si es necesario.

Si los datos provienen de ajax, entonces puedes agregar

 if (window.navigator.msSaveOrOpenBlob) xhttp.responseType = "arraybuffer"; else xhttpGetPack.responseType = "blob"; 

/////////////////////////////////////////////////

 var a = document.createElement("a"); document.body.appendChild(a); a.style.display = "none"; // IE if (window.navigator.msSaveOrOpenBlob) { a.onclick = ((evx) => { var newBlob = new Blob([new Uint8Array(xhttpGetPack.response)]); window.navigator.msSaveOrOpenBlob(newBlob, "myfile.ts"); }); a.click(); } else //Chrome and safari { var file = URL.createObjectURL(xhttpGetPack.response); a.href = file; a["download"] = "myFile.ts"; a.click(); window.URL.revokeObjectURL(file); }