Modernizer和pdf插件检测

Modernizer和pdf插件检测,pdf,web-applications,modernizr,Pdf,Web Applications,Modernizr,modernizer能否检测浏览器是否已安装并启用pdf插件?我正在web应用程序的iframe中显示pdf。当pdf插件不存在时,我从dom客户端删除iframe。我正在使用一些笨重的javascript来进行检测,并希望用更健壮/标准的东西来代替它,并且遇到了Modernizer。有人知道这是否可行吗?查看我没有发现任何检测pdf插件的方法,但是您可以检查浏览器可以处理的模拟类型。将其编写为Modernizer测试,您可以执行以下操作: Modernizr.addTest('pdf', fu

modernizer能否检测浏览器是否已安装并启用pdf插件?我正在web应用程序的iframe中显示pdf。当pdf插件不存在时,我从dom客户端删除iframe。我正在使用一些笨重的javascript来进行检测,并希望用更健壮/标准的东西来代替它,并且遇到了Modernizer。有人知道这是否可行吗?

查看我没有发现任何检测pdf插件的方法,但是您可以检查浏览器可以处理的模拟类型。将其编写为Modernizer测试,您可以执行以下操作:

Modernizr.addTest('pdf', function(){
    var mimes = navigator.mimeTypes;
    for (var i = 0, i_len = mimes.length; i < i_len; i++){
        if (mimes[i].type === 'application/pdf')
            return true;
    }
    return false;
});
modernizer.addTest('pdf',function(){
var mimes=navigator.mimeTypes;
对于(变量i=0,i_len=mimes.length;i

然后,您应该能够通过值
Modernizr.pdf

来检测浏览器是否有pdf插件。我不认为Modernizr会这样做,但有一个名为的库尝试检测pdf的各种呈现方式

这似乎不适用于linux上的firefox(可能适用于windows,因为我还没有测试)。navigator.mimeTypes不包含“application/pdf”,但它在iframe中支持pdf。它在Windows上对我有效。你的navigator.mimeTypes的内容是什么?好的,我可以通过删除FF上的adobe插件来重新解决这个问题,该插件会返回到它的pdf.js(FF19+)。这个问题似乎是相关的:libreary听起来不错,但没有得到维护