2013-01-03 4 views
0

BLOB URL을 만들고이 URL을 iframe 위치에 할당합니다. Firefox와 Chrome에서는 문제없이 작동하지만 IE10에서는 BLOB URL의 내용이 iframe에 표시되지 않습니다. IE10 디버거에서 BLOB URL이 문제없이 생성되었음을 알 수 있습니다.IE10 BLOB URL을 iframe에 사용하십시오.

var test = 
{ 
    init: function() 
    { 
     var parts = ["<html><body>test</body></html>"]; 
     var myBlob = new Blob(parts, {"type":"text\html"}); 
     var blobUrl = URL.createObjectURL(myBlob); 

     document.getElementById("test").contentWindow.location = blobUrl; 
    } 
} 

window.addEventListener("DOMContentLoaded", test.init, true); 

잘못 어떤 생각?

답변

0

각 BlobBuilder 및 Blob 생성자에 대해 기능 감지를 사용해보십시오.

var blobUrl = window.URL.createObjectURL(myBlob); 

IE는 이에 대한 합리적인입니다 :

if (typeof Blob !== "undefined") { 
    // use the Blob constructor 
} else if (window.MSBlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder) { 
    // use the supported vendor-prefixed BlobBuilder 
} else { 
    // neither Blob constructor nor BlobBuilder is supported 
} 

또 다른 팁은 URL.createObjectURL(blob) 상대 window에 사용하는 것입니다! 어쩌면이 도움!

+0

Blob 생성자가 존재하면 BlobUrl이 성공적으로 작성됩니다. 불행히도 window.URL.createObjectURL을 사용하면 도움이되지 않습니다. – meagain

+0

및 기능 감지 오류에 대한 추적을 통해 어떤 종류의 메시지를 받았습니까? –

+0

죄송합니다, 질문을 이해하지 못합니다. "Blob"이 있으므로 첫 번째 "if"다음에 코드를 실행하므로 오류가 발생하지 않습니다. – meagain

관련 문제