如何检测Chrome(及其他)中是否启用了原生FlashBlock?

时间:2011-05-17 23:28:40

标签: javascript flash plugins google-chrome

Chrome已经捆绑了“原生”闪存块一段时间,Android浏览器也是如此。 swfobject报告即使为所有站点启用了块,Flash播放器也可用。我想要做的就是检测用户是否正在使用本机闪存块,并提供一些消息。某些服务(如Facebook JS SDK)在没有为跨域通信启用闪存的情况下不起作用,并且不提供检测故障的方法。我知道如何检测扩展/插件,如原始flashblock,但本机版本不会出现在navigator.plugins列表中。

有没有办法检测用户是否在启用本机闪存块的情况下运行?

1 个答案:

答案 0 :(得分:3)

不幸的是,Chrome中的插件加载系统没有编程接口。

您可以做的最好的事情是加载Flash对象,并通过一些明确定义的方法(GetVariable("$version")是规范示例)进行轮询,以确定成功。在您关注的情况下,Flash将显示在navigator.plugins中,但无法成功加载您的测试插件。无论如何,进行这种检查确实不是一个坏主意,因为有很多原因导致闪存可能无法加载,超出闪存阻塞(原生或其他)。