问题如下:确保您对网站上的 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 的检测工作正常。这使得这 jar 蛇比我最初想象的要大。我还没有准备好更改这个问题的标题,我正在继续剖析客户端代码,看看会出现什么奇妙的逻辑。 Details on these latest revelations在我的博客上。
更新:虽然我做了搜索,但我错过了相关问题“Why don't flash videos play after upgrading to Flash 10?”,那里的猜测很有趣,但没有深入到底。此外,尚不清楚李维斯的问题是如何解决的。有趣...也许我们可以在这里弄清事情的真相。
一些背景
我成功以全新安装的方式安装了新的 Adobe Flash Player 版本 10.0.12.36(使用 Adobe 提供的卸载程序删除了以前的版本)。
第一个失望是我无法播放 CBS 电视网站上的最新 NCIS 节目,不是高清节目,也不是普通旧标准节目。但我可以在 Hulu 上播放我最喜欢的节目的视频。我查得越多,就越多次发现那些令人讨厌的“你没有 Flash”、“你需要更高版本的 Flash”、“你的 Flash 版本旧”等消息,这些消息提供了下载按钮。
每次我单击下载/更新按钮,并告诉 Adobe 网站进行安装(如果尝试安装,应该会失败,因为我没有以管理员身份运行),我已经拥有的版本 10.0.12.36 立即得到确认,并且没有已尝试更新。
很好奇吧?
挑战
我想我确切地知道人们正在使用的 Flash 检测脚本中最有可能存在的错误是什么。它实在是太多汁了,不可能不是 bug。
现在,这并不意味着所有未能检测到版本 10 的网站都会遭受相同的错误。我只是觉得我想到的那个确实有可能。我也许应该将我的理论密封在信封中的某个地方。同时,让我们看看 StackOverflow 社区可以提供什么以及我们得出的结论是什么。
我说这个bug真的很简单而且很有趣。你说什么?
最佳答案
我的猜测是 JavaScript 正在进行字符串比较,并且在字符串区域中,“10”<“9”。
此外,Flash10 稍微改变了他们的安全模型(破坏了我使用的一个名为 SWFUpload 的工具),因此它可能与此相关(请参阅: http://benr75.com/articles/2008/11/25/swfupload-with-flash-10-fix )
关于javascript - 未检测到闪存 10 : World's Most Widespread Web Video Bug?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/346794/