Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript createObjectURL(blob)未在IE 11中创建正确的URL_Javascript - Fatal编程技术网

Javascript createObjectURL(blob)未在IE 11中创建正确的URL

Javascript createObjectURL(blob)未在IE 11中创建正确的URL,javascript,Javascript,我正在尝试在iframe中呈现pdf。它在Mozilla(v54)和Chrome(v59)上运行良好,但在IE(v11)中,当我点击加载PDF的链接时,什么都没有发生。经过多次调试,我发现Chrome/Firefox中的URL是blob:IE(v11)中的URL是blob:B7395CB5-169D-471F-BB8F-AA90EAFB6DDB。为什么URL.createObjectURL(blob)没有在IE(v11)中追加http请求 IE不会为这些blob对象创建url,因为我认为是出于安

我正在尝试在iframe中呈现pdf。它在Mozilla(v54)和Chrome(v59)上运行良好,但在IE(v11)中,当我点击加载PDF的链接时,什么都没有发生。经过多次调试,我发现Chrome/Firefox中的URL是blob:IE(v11)中的URL是blob:B7395CB5-169D-471F-BB8F-AA90EAFB6DDB。为什么URL.createObjectURL(blob)没有在IE(v11)中追加http请求


IE不会为这些blob对象创建url,因为我认为是出于安全原因;不会提供可在iframe或嵌入标记中使用的源url。 我面对同样的问题,搜索了很多关于修复的信息。但是没有得到答案。相反,我解决了它,如下所示。 对于IE,您可以使用以下命令

if (bowser.msie && window.navigator.msSaveOrOpenBlob) {
    navigator.msSaveOrOpenBlob(file, fileName);
}else{
    //do what you were doing for other than IE
}
上面的IE代码将提示用户是要保存文件还是直接打开文件。
用户可以单击“打开”按钮,IE将显示PDF,而无需在默认阅读器中下载。

您建议的解决方案的可能副本表示您必须将其打开或保存在IE(v11)中,但我希望在模式框中呈现PDF。如果有,请建议解决办法
if (bowser.msie && window.navigator.msSaveOrOpenBlob) {
    navigator.msSaveOrOpenBlob(file, fileName);
}else{
    //do what you were doing for other than IE
}