在 Microsoft Edge 中检测对 "application/pdf" 的支持
Detecting support for "application/pdf" in Microsoft Edge
我们的网站试图通过这样的检查来检测对 application/pdf
mimetype 的支持:
function isPdfMimeTypeSupported() {
if (navigator.mimeTypes != null && navigator.mimeTypes.length > 0)
for (i = 0; i < navigator.mimeTypes.length; i++) {
var mtype = navigator.mimeTypes[i];
if (mtype.type == "application/pdf" && mtype.enabledPlugin)
return true;
}
return false;
}
这在 Chrome 中按预期工作,但在 Microsoft Edge 中,mimeTypes 集合只有两个条目:
- "application/x-shockwave-flash"
- "application/futuresplash"
检查失败,我们错误地警告用户他们的浏览器不支持 PDF。
是否有一种方法可以在 JavaScript 中检查 PDF 支持并在 Edge 中运行?
检查您使用的 Windows 10 的哪个版本。
如果您使用的是 N 版本,则 PDF 支持不是开箱即用的,您需要安装 Windows 10 Media Feature Pack or Acrobat.
有关详细信息,请参阅 Windows N editions explained
重要提示:以下答案仅与特定时间段相关
如上所述,Microsoft Edge 内置了本机 PDF 查看支持。我不相信有任何版本的 Edge 缺少此功能,但即使有,也非常罕见。
我们目前正计划在不久的将来更新 navigator.mimeType
,这将使您目前的方法(如上所述)开始起作用。在那之前,我会鼓励你(我觉得建议这个很糟糕)嗅探用户代理字符串。
此问题将在 Microsoft Edge 的未来更新中得到解决。
我们的网站试图通过这样的检查来检测对 application/pdf
mimetype 的支持:
function isPdfMimeTypeSupported() {
if (navigator.mimeTypes != null && navigator.mimeTypes.length > 0)
for (i = 0; i < navigator.mimeTypes.length; i++) {
var mtype = navigator.mimeTypes[i];
if (mtype.type == "application/pdf" && mtype.enabledPlugin)
return true;
}
return false;
}
这在 Chrome 中按预期工作,但在 Microsoft Edge 中,mimeTypes 集合只有两个条目:
- "application/x-shockwave-flash"
- "application/futuresplash"
检查失败,我们错误地警告用户他们的浏览器不支持 PDF。
是否有一种方法可以在 JavaScript 中检查 PDF 支持并在 Edge 中运行?
检查您使用的 Windows 10 的哪个版本。
如果您使用的是 N 版本,则 PDF 支持不是开箱即用的,您需要安装 Windows 10 Media Feature Pack or Acrobat.
有关详细信息,请参阅 Windows N editions explained
重要提示:以下答案仅与特定时间段相关
如上所述,Microsoft Edge 内置了本机 PDF 查看支持。我不相信有任何版本的 Edge 缺少此功能,但即使有,也非常罕见。
我们目前正计划在不久的将来更新 navigator.mimeType
,这将使您目前的方法(如上所述)开始起作用。在那之前,我会鼓励你(我觉得建议这个很糟糕)嗅探用户代理字符串。
此问题将在 Microsoft Edge 的未来更新中得到解决。