Google chrome 使用javascript检测Chrome中的NPAPI支持

Google chrome 使用javascript检测Chrome中的NPAPI支持,google-chrome,npapi,Google Chrome,Npapi,谷歌Chrome将在2015年9月后放弃对NPAPI的支持。有什么办法吗 使用JavaScript检测chrome中的NPAPI支持,以便 内容将加载或向用户显示警告消息以使用较旧版本的Chrome 由于自动更新,Chrome用户通常运行最新版本;一旦推出,您可能应该假设Chrome用户没有NPAPI支持,并为他们提供替代内容。没有javascript api来检查NPAPI支持,但作为解决办法,我建议您检查Chrome的浏览器版本 如果Chrome版本早于42,则禁用NPAPI支持。是的,从4

谷歌Chrome将在2015年9月后放弃对NPAPI的支持。有什么办法吗 使用JavaScript检测chrome中的NPAPI支持,以便
内容将加载或向用户显示警告消息以使用较旧版本的Chrome

由于自动更新,Chrome用户通常运行最新版本;一旦推出,您可能应该假设Chrome用户没有NPAPI支持,并为他们提供替代内容。

没有javascript api来检查NPAPI支持,但作为解决办法,我建议您检查Chrome的浏览器版本

如果Chrome版本早于42,则禁用NPAPI支持。是的,从42版到45版之前,您可以使用
chrome://flags/#enable-npapi
但无法从JS检查此标志

现在我想这是相当真实的信息:

chrome 42禁用NPAPI造成了一个问题。所做的事情是这样的:(类似于)

函数isJavaAvailable(){
var javaRegex=/(Java)(\(TM\)|部署)/,
plugins=navigator.plugins;
if(导航器和插件){
for(插件中的插件){
if(plugins.hasOwnProperty(plugin)&&
javaRegex.exec(插件[plugin].name)){
返回true;
}
}
}
返回false;
}
var chromeVersion=window.navigator.userAgent.match(/Chrome\/(\d+)\。/);
if(色度外翻和色度外翻[1]){
if(parseInt(chromeVersion[1],10)>=42&&!isJavaAvailable()){
//不要执行与java相关的任务
log('Java不可用');
}

}
您不应该向用户显示一条消息,告诉他们使用旧版本的浏览器,因为旧版本不会收到安全更新。我完全同意smorgan,但我们仍然需要能够检测到为他们提供的替换技术。当然希望有一种功能检测而不是版本嗅探的方法……只是为了记录:您可以在较新的版本中启用napi:
chrome://flags/#enable-npapi
此评论现在也适用于Microsoft Edge,因为它也放弃了对npapi的支持。