使用js / jquery检测flash播放器的现代或非弃用方式?

首先,抱歉在这里重新提出这个问题。 我已经尝试了两天如何使用javascript / jquery来完成这项工作,我想我已经阅读了所有堆栈溢出和其他博客相关的post,所以请不要将其标记为重复,因为我无法使用从2012年到2017年的过时脚本。

我有一个页面重定向到第三方电子学习平台,其中一些内容需要闪存才能工作。 许多用户不关心他们的机器上安装了哪些软件(多么新的,呵呵)所以我需要检测它并显示典型消息“请安装/更新flash player点击这里”,但我找不到“现代“脚本/方式,在任何地方,如果可能的话,简化。

我尝试过的所有脚本都已弃用,或者在所有浏览器中都返回false,即使我安装了最新版本的Flash并处于活动状态。

Anny帮助将不胜感激(除了链接到现在不起作用的旧post或脚本,显然)。

非常感谢!

有一种简单的方法可以检查Flash,因为所有已安装和启用的插件都将列在navigator.plugins;

请注意,如果安装了插件但未启用插件,则不会在navigator.plugins数组中检测到该插件。 没有办法使用Javascript(这个问题确认相同)来检测这个。

话虽如此,使用以下函数isFlashEnabled(); 检测Flash:

       

您可以获得一个包含浏览器所有已安装插件的数组,如下所示:

 var plugins = navigator.plugins; 

然后,您可以检查该arrays是否包含Flash插件。

来自https://developer.mozilla.org/de/docs/Web/API/NavigatorPlugins/plugins :

 function getFlashVersion() { var flash = navigator.plugins.namedItem('Shockwave Flash'); if (typeof flash != 'object') { // flash is not present return undefined; } if(flash.version){ return flash.version; } else { //No version property (eg in Chrome) return flash.description.replace(/Shockwave Flash /,""); } }