4

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

我知道一种解决方案是在用户代理中检查 iPad/iPhone/iPod 以检测苹果,但是是否有一些库不仅可以检查苹果?

4

2 回答 2

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 检测是不可取的,因为它可以被修改。

于 2012-07-20T13:18:41.883 回答
1

除了 iThings 之外,播放器的版本到浏览器和版本到系统的匹配,或者更确切地说是播放器的版本和它打算在其上运行的系统,还有几个问题。

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

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

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

于 2012-07-22T09:59:16.730 回答