首页 > 解决方案 > JavaScript 和浏览器 PDF 支持检测

问题描述

我正在尝试基于运行应用程序的浏览器进行 PDF 支持检测。

第一个应用程序正在检查浏览器是否未在移动设备上运行。那部分工作正常 - 我得到Globals.bAllowPdfPreview = true

然后我尝试执行下面的代码

if (Globals.bAllowPdfPreview && window.navigator && window.navigator.mimeTypes)
{
    Globals.bAllowPdfPreview = !!_.find(window.navigator.mimeTypes, function (oType) {
        return oType && 'application/pdf' === oType.type;
    });

    if (!Globals.bAllowPdfPreview)
    {
        Globals.bAllowPdfPreview = (typeof window.navigator.mimeTypes['application/pdf'] !== 'undefined');
    }
}

它在 Chrome 上运行良好,但我无法让它在 FireFox 或 IE11 上运行——这两个语句都无法验证。

任何提示为什么不起作用?

标签: javascriptpdffirefoxbrowserinternet-explorer-11

解决方案


Firefox 无法正常工作,因为 Mozillaapplication/pdf从对象中删除了 MIME 类型,navigator.mimeTypes并且仅适用于 IE11 application/futuresplash,并且application/x-shockwave-flash默认情况下可用。


推荐阅读