Как Google Chrome отказывается от поддержки NPAPI после сентября 2015 года. Есть ли способ для обнаружения поддержки NPAPI в хроме с использованием JavaScript, чтобы альтернатива контент будет загружаться или показывать предупреждающее сообщение для использования старой версии Chrome.
Обнаружение поддержки NPAPI в Chrome с помощью javascript
Ответ 1
У вас возникла проблема, связанная с отключением NPAPI от chrome 42. То, что было сделано, было в строках этого: (похоже на)
function isJavaAvailable() {
var javaRegex = /(Java)(\(TM\)| Deployment)/,
plugins = navigator.plugins;
if (navigator && plugins) {
for (plugin in plugins){
if(plugins.hasOwnProperty(plugin) &&
javaRegex.exec(plugins[plugin].name)) {
return true;
}
}
}
return false;
}
var chromeVersion = window.navigator.userAgent.match(/Chrome\/(\d+)\./);
if (chromeVersion && chromeVersion[1]) {
if (parseInt(chromeVersion[1], 10) >= 42 && !isJavaAvailable()) {
// do chrome-no-java-related task
console.log('Java not available');
}
}
Ответ 2
Из-за автоматических обновлений пользователи Chrome, как правило, используют последнюю версию; как только это произойдет, вы, вероятно, просто предположите, что пользователи Chrome не поддерживают NPAPI и служат для них альтернативным контентом.
Ответ 3
Для проверки поддержки NPAPI нет javascript api, но в качестве обходного пути я могу предложить вам проверить версию браузера Chrome.
Если версия Chrome старше старше 42, чем поддержка NPAPI, отключена. Да, с 42 и до версии 45 вы можете использовать chrome://flags/#enable-npapi
, но нет способа проверить эти флаги от JS
На данный момент я думаю, это довольно актуальная информация: https://www.chromium.org/developers/npapi-deprecation?pli=1