以下是问题:确保您对网站上的Flash版本“x”的要求能够正确检测更高版本的Adobe Flash Player版本“10”(或“1y”)的最佳方法是什么? )?
现在这里有一个谜:为什么有这么多网站要求Flash Player版本8和9或更好的版本无法检测到Flash Player版本10?
这是多汁的背景,在我的帖子中的技术色屏幕截图中,“WTF: The Adobe Flash Version 1x Crisis。”
更新2:我已经确认我遇到的问题不是关于相同或更新版本的不正确比较。似乎某些客户端检测无法确定是否安装了任何Flash Player,更不用说它是什么版本。我还发现,如果我以管理员身份运行,我就没有问题:检测到Flash 10的工作正常。这使得它成为比我最初想象的更大的蛇。我还没准备好改变这个问题的标题,我将继续剖析客户端代码,看看有什么奇妙的逻辑展开。 Details on these latest revelations在我的博客上。
更新虽然我进行了搜索,但我错过了相关问题“Why don't flash videos play after upgrading to Flash 10?”这些猜测很有意思,但他们没有深究。此外,目前还不清楚Levi的问题是如何解决的。有意思......也许我们可以在这里找到底线。
一些背景
我设法将新的Adobe Flash Player版本10.0.12.36安装为全新安装(使用Adobe提供的卸载程序删除了以前的版本)。
当我无法从CBS电视网站播放最新的NCIS节目时,第一次失望被注意到,而不是高清,而不是普通的标准。但我可以在Hulu上播放我最喜欢的节目的视频。我发现越多,我发现那些令人讨厌的你没有Flash,你需要一个以后版本的Flash,你的Flash版本的旧版消息提供了一个下载按钮。
每次我点击下载/更新按钮,并告诉Adobe网站进行安装(如果尝试失败,因为我没有以管理员身份运行),我的版本10.0.12.36立即被确认,没有尝试更新。
好奇,嗯?
挑战
我想我确切知道人们正在使用的Flash检测脚本中最可能出现的错误。它太多汁了,不能成为虫子。
现在,这并不意味着所有未能检测到版本10的网站都会遇到同样的错误。我只想到我想到的那个很可能。我应该把我的理论封在某个地方的信封里。同时,让我们看看StackOverflow社区提供了什么以及我们得出的结论是什么。
我说这个bug非常简单而且非常有趣。你怎么说?
答案 0 :(得分:2)
我的猜测是javascript正在进行字符串比较,而在字符串中,“10”< “9”。
此外,Flash10稍微更改了他们的安全模型(打破了我使用的名为SWFUpload的工具),因此它可能与此相关(请参阅:http://benr75.com/articles/2008/11/25/swfupload-with-flash-10-fix)
答案 1 :(得分:1)
我的猜测是从字符串中检测出类似于“Flash Player版本X.Y”的内容,例如“先获取字符”。并将其转换为数字。“我自己做了几次,这只是愚蠢的。
答案 2 :(得分:1)
不幸的是,问题是由于版本较差闪存导致的。这是正确的,它实际上由Adobe Flash创建的劣质代码(不确定哪个版本),这是它如此广泛的原因。
我个人使用swfObject嵌入flash。