多年来, 我接触了数百名 Flash 开发人员, 而其中许多人都有他们自己处理 Flash 检测的方式, 但只有几种方法脱颖而出, 成为至少的一点儿标准。 这些方法在功能、兼容性、有效性和用户体验方面变化很大, 但无论如何, 存在这样一个事实: 任何一个都不能保证任何时候都 100% 起作用。
若要就哪种方法最适合您和您的站点访问者作出一个明智决策, 您需要了解事实。 幸运的是, 我已做了许多准备工作并为您积累了一个花样繁多的 Flash 检测体验一览表, 以及每种已测试方法的概述和对最新 Flash 检测脚本的简介。
但是, 继续之前, 了解设计一个很好的 Flash 检测体验所需的一切是很重要的, 因为在您的站点上显示 Flash 内容的简单操作存在几个关键问题:
若要创建一个很好的检测体验, 首先需要能够指定用户的浏览器上未安装 Flash Player 时将发生的情形。 如果未指供任何替代内容, 用户会继续坐在那里盯着一个空白屏幕, 希望他或她的懂 Web 的邻居出现来解决问题吗? 最可能的答案是不会。您的访问者一边掉头转向您的竞争者的网站, 一边咒骂您的名字。 看看, 并不是访问您的站点的每一个人都愿意为了查看您的内容而执行一个软件安装, 不管它有多简单。 因此, 您需要为您的站点访问者提供一个有吸引力的原因来执行安装。 换句话说, 您需要告诉您的用户通过安装播放器他们将看到或得到的内容, 并确保存在某些事情使他们直接受益。
如果您的 Flash 检测方法依赖于 JavaScript 的使用, 您还需要计划用户在他或她的浏览器中禁止使用 JavaScript 时会发生的情形。 理想情况下, 您应该能够显示替代内容, 方法是通过 (非常令人愉快地) 请求用户启用 JavaScript 并刷新页面, 或者提供 HTML 内容来代替 Flash 内容。
下一步, 您必须处理旧版本的 Flash Player。 例如, 如果您的内容是设计用于 Flash Player 8, 且您的站点访问者安装了 Flash Player 6, 他或她应该看到替代内容。 同样, 替代内容也能以非常令人愉快的方式请求访问者升级, 或者提供 HTML 内容来替代 Flash 内容。
最后, 您可能希望执行容易实施且有效的解决方案, 这样您以后再也不用考虑此问题了。
现在您有了一个获得极佳 Flash 检测体验所需的元素列表, 让我们快速查看一下当前存在的一些常用选项。