是否有(在JavaScript中)在以下两种场景之间进行检测的方法?
installed.
我知道如何检测是否安装了闪存,我也知道如何具体地检测iPad或iPhone,但我希望找到一种方法,在不使用任何类型的白名单或黑名单的情况下,通用地检测设备是否支持Flash。
发布于 2011-10-28 22:16:02
您可以检测是否安装了闪存。Adobe为此提供了Javascript代码。
您无法检测是否支持闪存(例如可用),但未安装。从某种程度上说,如果闪存没有安装,设备上就没有任何东西可以指示是否可以安装闪存。您可以理解为什么会这样,因为今天的设备可能没有闪存,也没有闪存可用,然后闪存可能稍后才可用,而不会对设备本身进行任何更改。因此,设备本身不可能知道闪存已经提供给它。
了解闪存是否可用的唯一方法是维护您自己的巨型设备列表。因为它是不断变化的,所以您甚至不能将它放入您的javascript中。您必须将其放到服务器上并通过ajax获取信息。
一个快捷方式(听起来好像你已经考虑过了)是检测闪存是否安装了,如果没有,看看该设备是否是少数几个大容量设备之一(安卓、iDevice、Windows、Windows等等)。并使用您预先建立的知识,这些设备是否有闪存可用。至于其他的设备,你就是不知道。
发布于 2011-10-28 21:56:16
不是的。
最好的选择是存储一个受支持的用户代理的映射数组,然后在一个getSupported()方法中使用该数组,该方法将用户代理与支持的用户代理列表相匹配,以及那些不受支持的用户代理。
发布于 2011-10-28 21:57:09
不是的。您要么安装了闪存,要么没有安装,但在理论上无法知道设备是否支持闪存。
毕竟,地狱可能会结冰,苹果可能会为iOS发布Flash。或者用户正在运行一些奇怪的Android版本,或者在Itanium上的Unix上运行一些没有Flash播放器的Firefox。你必须保持一个所有可用的闪存播放器的列表,这是乏味的。
https://stackoverflow.com/questions/7935293
复制相似问题