1

最近,我们发现 Firefox 对插件进行了更改,如果用户没有使用最新版本,则会暂时阻止他们运行它们。我们的网站需要 Flash 播放声音并与用户的网络摄像头/麦克风进行交互,因此我们需要尽我们所能确保他们不会收到这些警告。

向我建议的一种方法是创建一个小的 Flash 控件,并等待它告诉 Javascript 它已被初始化。如果不是(并且用户正在使用 Firefox),那么他们将被带到一个提示他们更新的页面。这可能有效,但我担心它的可靠性,以及在我们网站的每个页面上运行它。

或者,我一直在研究一种使用 Javascript 检测版本的方法,而无需制作 Flash 控件。我不仅需要用户当前的 Flash 版本,还需要 Firefox 期望的版本——而且我还没有找到这样做的自主方式。我不希望管理员在每次 Adob​​e 发布新版本时都必须更改一个小值。有人对我如何找到 Flash 的最新可用版本或解决我的问题的替代方法有任何建议吗?

4

2 回答 2

1

我建议您查看SWFOjectExpress Install选项,它们应该可以大大简化升级。

于 2013-05-31T19:04:05.393 回答
0

我刚刚注意到有人支持这个问题,所以我想我会提供我的最终解决方案,我认为这减少了最近一个问题的影响,即 Firefox 阻止了最新版本的 Flash,等待 Adob​​e 的修复。

基本上,我对问题的第二段进行了修改。它不会将用户引导至新页面;相反,它会在当前页面上打开一个对话框,说明它在与 Flash 通信时遇到问题。(它没有特别说明“您的 Flash 已过时”,因为如果浏览器在“是/否”用户对话框下隐藏 Flash,也会发生这种情况)。它还包含一个小的假 Flash 对象,其想法是如果浏览器想要显示安全警告、接受提示等,它可以在该空间内完成。

如果该 Flash 控件最终将其回调到 JavaScript,则该对话框会自行消失。它还在下面安装了一个变量,sessionStorage因此我们无需再次检查它(Flash 在某些计算机上需要足够的时间,您可能会在一瞬间看到对话框)。

于 2015-07-15T00:44:16.930 回答