如何检查Flash是否可以通过javascript安装在浏览器中

时间:2012-07-20 13:17:05

标签: javascript flash browser

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

我知道一个解决方案是检查iPad / iPhone / iPod中的useragent来检测苹果,但有没有一些库检查不仅仅是苹果?

2 个答案:

答案 0 :(得分:3)

然后,不显示“请安装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检测,因为可以对其进行修改。

答案 1 :(得分:1)

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

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

在免费系统上,供应商不会告诉您不允许安装哪些软件......从技术上讲,任何可以与NPAPI(Netscape Plugin API)接口的应用程序都可以用作实现的浏览器的插件这些API。 Netscape不想实现这些API的更新版本(实际上,除了Google Chrome之外没有人实现它们),该版本也称为Pepper Plugin API。

不幸的是,看起来没有办法使用JavaScript来测试NPAPI的可用性。如果你有这个,你可以淘汰所有技术上无法显示任何插件的浏览器,包括Flash。我想可能有一些间接的方法来做到这一点,一些浏览器功能,如果界面存在或类似的东西会出现,但目前无法想到任何东西......当然,也有ActiveX。因此,行动方案将是首先测试NPAPI,如果不是,那么,也许,AX,如果不是,那么当然,浏览器无法运行Flash(遗憾的是,不能保证Flash确实会奏效。)