如何从javascript检查Flash CAN是否安装在浏览器中

How to check if Flash CAN be installed in a browser from javascript

本文关键字:安装 是否 浏览器 CAN Flash javascript 检查      更新时间:2023-12-20

我想检查托管浏览器的平台是否支持Flash。我不想检查它是否安装了(我知道怎么做)。我只是想知道建议用户安装Flash插件是否合理。如果该页面是从不支持Flash的iOS设备上查看的,我不想显示"请安装Flash"消息-我会显示HTML5版本的控件。

我知道一个解决方案是在useragent中检查iPad/iPhone/iPod来检测苹果,但是否有一些库可以检查不止一个苹果?

然后不显示"Please install Flash"文本,而是显示控件的HTML5版本。将HTML5代码放在"请安装Flash"所在的位置。


此外,如果不支持,先使用HTML5,然后再使用Flash更容易(更可取)。类似这样的东西:

<video src="html5_video_url">
    <!-- contents in here are only shown when video is not supported -->
    <embed src="flash_video_url"/>
</video>

此外,UA检测是不可取的,因为它可以修改。

除了iThings之外,播放器的版本到浏览器和版本到系统的匹配,或者更确切地说,播放器和它打算运行的系统的版本也存在一些问题。

困难如下:Linux没有64位版本(调试器从未存在过,播放器代号为Square,afaik只是32位应用程序的包装器)。

在免费系统上,供应商不告诉你不允许安装什么软件。。。从技术上讲,任何可以与NPAPI(Netscape插件API)接口的应用程序都可以用作实现这些API的浏览器的插件。有一个新版本的API,网景不想实现,(实际上,除了谷歌Chrome,没有人实现它们),这个版本也被称为Pepper插件API。

不幸的是,似乎没有办法使用JavaScript来测试NPAPI的可用性。如果你有这个,你可以剔除所有技术上不能显示任何插件的浏览器,包括Flash。我想肯定有一些间接的方法可以做到这一点,如果界面存在或类似的东西,就会有一些浏览器功能,但目前想不出任何东西。。。当然,也有ActiveX。因此,操作过程将是首先测试NPAPI,如果不是这样,那么可能是AX,如果不是那样,那么当然,浏览器无法运行Flash(不幸的是,这并不能保证Flash确实有效)。