2015-08-26 15 views
5

Ottimi risultati quando si tenta di aprire una nuova finestra con un URL BLOB in Windows Edge (20.10240.16384, che è la versione in VM IE11 fornita da Microsoft).Windows Edge e apertura di un BLOB URL

var xhr = new XMLHttpRequest(); 
xhr.open('POST', sourceUrl, true); 
xhr.responseType = 'blob'; 

xhr.onload = function(e,form) { 
    if (this.status == 200) { 
     var blob = this.response; 
     var url = window.URL.createObjectURL(blob); 
     var w = window.open(url); 
    } 
} 

Sulla linea

var w = window.open(url); 

Ricevo un errore "Accesso negato", che sembra essere legato con CORS, che ha un senso un po 'come non è tecnicamente lo stesso dominio. Tuttavia un URL BLOB non ha tecnicamente un dominio?

Si tratta di un bug in Edge? O sto facendo qualcosa che non va bene? Questo codice funziona in IE, Chrome ecc.

+0

fortuna con questo? Sto avendo errori come questo riportati sui dati creati sul client stesso. Il mio google-fu non ha ancora scoperto una soluzione ... –

+0

Ho finito per riscriverlo per non usare gli URL blob. Quindi no non ho ancora scoperto una soluzione per farlo in questo modo ancora. – Technicolour

+0

vecchio post- Ma cosa hai usato al posto di blob urls? – sdd

risposta

1

Ho trovato la soluzione su IE e Edge.

if (window.navigator && window.navigator.msSaveOrOpenBlob) { 
    window.navigator.msSaveOrOpenBlob(blob); 
} 
else { 
    var objectUrl = URL.createObjectURL(blob); 
     window.open(objectUrl); 
} 

Il collegamento Here

Problemi correlati