2015-08-26 10 views
5

Windows Edge'de bir blob url (Microsoft tarafından sağlanan IE11 VM sürümü olan 20.10240.16384) ile yeni bir pencere açmaya çalışırken bazı garip sonuçlar alıyorum. hatWindows Kenar ve bir blob URL'si açma

var w = window.open(url); 

günü

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); 
    } 
} 

Teknik olarak aynı alan değil biraz olarak mantıklı CORS bağladı edilecek görünen bir "erişim engellendi" hatası, alıyorum. Ancak bir BLOB URL'sinin teknik olarak bir alanı yok mu?

Bu, Edge'de bir hata mı? Yoksa doğru olmayan bir şey mi yapıyorum? Bu kod IE, Chrome vb. Içinde çalışır.

+0

bu bir ile herhangi bir şans? İstemcinin kendisinde oluşturulan verilerde bildirilen hatalar var. Benim google-fu henüz bir çözüm ortaya çıkarmadı ... –

+0

Ben blob urls kullanmak için yeniden yazma sona erdi. Öyleyse hayır, henüz böyle yapmak için bir düzeltme bulamadım. – Technicolour

+0

eski post- Ama blob urls yerine ne kullandın? – sdd

cevap

1

Hem IE hem de Edge'deki çözümü öğrendim.

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

bağlantı Here

İlgili konular