IE10在iframe中使用BLOB url

时间:2013-01-03 08:57:46

标签: javascript html5 internet-explorer-10

我正在创建一个BLOB网址,并将此网址分配给iframe的位置。在Firefox和Chrome中,这没有问题,在IE10中,BLOB网址的内容不会显示在iframe中。在IE10调试器中我可以看到,BLOB url的创建没有问题。

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

知道什么是错的吗?

1 个答案:

答案 0 :(得分:0)

请尝试为每个BlobBuilder和Blob构造函数使用特征检测。

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

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

IE对此很明智!也许这有帮助!