如何检查用户的浏览器是否可以使用 JavaScript 查看 DJVU 文件



我正在制作一个生成压缩。djvu文件的应用程序,并有一个查看。djvu文件的页面。

我想主动检查用户的浏览器是否能够打开。djvu文件,并提供链接到推荐的插件,如果他们的浏览器不能打开。djvu文件。

我之所以要积极主动地推荐插件,是因为在浏览器中查看。djvu文件没有通用的解决方案,找到合适的插件是非常重要的。

我目前的解决方案(在编写任何代码之前)是检查用户的浏览器,然后检查是否安装了特定的插件,但这不是很好或将来的证明。(例如,如果用户安装了不同的/新的插件,我没有检查)

这可能不是一个很好的解决方案,但它在功能上是可以的。它依赖于插件后缀(支持的文件类型),我注意到并不是所有的开发人员都包含这个后缀,所以它不是一个万能的解决方案。

var numPlugins = navigator.plugins.length;
var djvuPluginDetected = false;
var djvuMimeTypes = ["image/x-djvu", "image/vnd-djvu", "image/x.djvu", "image/vnd.djvu"];   // Array of the different mime formats that may be used by plugins
for (var i = 0; i < numPlugins; i++) {
    var plugin = navigator.plugins[i];
    var numMimeTypes = plugin.length;
    for (var j = 0; j < numMimeTypes; j++) {
        var mimeType = plugin[j];
        if (mimeType.suffixes.indexOf("djvu") > -1) {
            djvuPluginDetected = true;
        }
        if(djvuMimeTypes.indexOf(mimeType.type) > -1) {
            djvuPluginDetected = true;
        }
    }   // end for numMimeTypes
}   // end for numPlugins
// If there is no plugin that supports "djvu" was found then show the modal.
if (!djvuPluginDetected) {
    $('#getdjvuPluginModal').modal('show');
}

这也可以通过搜索plugin> mime type>后缀来检查不同文件类型的插件,这可能对其他人有用。

if (mimeType && mimeType.suffixes.search("pdf") > -1) 

最新更新