这可能不是一个好的解决方案,但它在功能上没问题。它依赖于插件后缀(支持的文件类型),我注意到并非所有的开发人员都包含它,所以它不是一个全面的解决方案。
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');
}
这也可以被用来通过搜索来检查插件不同的文件类型插件> MIME类型>为不同的文件类型,这可以证明给别人有用的后缀。
例如
if (mimeType && mimeType.suffixes.search("pdf") > -1)
这个答案将让你对你的方式:http://stackoverflow.com/questions/5188908/detecting-installed-plugins-under-different-browsers –
@BrandtSolovij这肯定有,谢谢!一旦写完,我将添加我的最终代码作为答案。谢谢你指出我朝着正确的方向。 –