Chrome Flash Player (Pepper) 日期 timezoneOffset 错误

Posted

技术标签:

【中文标题】Chrome Flash Player (Pepper) 日期 timezoneOffset 错误【英文标题】:Chrome Flash Player (Pepper) date timezoneOffset bug 【发布时间】:2012-10-11 11:05:15 【问题描述】:

我很难找到任何关于这个关键问题的信息,所以我决定发布这个来帮助遇到同样问题的用户。

Chrome 嵌入式 Flash 播放器 (Pepper) 有一个关于日期 timezoneOffset 的错误,当您的应用程序处理日期时会导致一些不可预知的行为。 由于我们提供商业 Flex 日历组件 (KC-Calendar),因此这个问题对于我们的客户及其应用程序来说至关重要。

问题详情可以在这里找到:http://code.google.com/p/chromium/issues/detail?id=154060 (请投票)

等待修复,如果有人有解决方法,它可能真的很有帮助。 提前致谢!

【问题讨论】:

您可以在 about:plugins 页面禁用 Chrome 的 flash 播放器,然后展开详细信息(在页面右侧)并在用户目录中禁用 flash 播放器。 感谢您在此处添加此信息,但不幸的是,这不是一个您可以轻松向所有客户解释的程序。注意:如果您安装 Adob​​e Flash Player,并且禁用 Chrome 中的嵌入式 Flash Player,则该错误会消失。 我们面临同样的问题。该错误已在 Chrome 23.0.1271.52 中修复。将此版本部署到所有平台可能需要一些时间。我们通过定期检查时区是否已更改来缓解此问题,并尽可能使用 UTC 日期。 【参考方案1】:

我们之前已经处理过此类问题,而且老实说 - 而不是尝试序列化日期 - IMO 最好的解决方案(除非您想要自动时区转换)是简单地将日期数据类型作为字符串传递。我们使用 Java 和 ActionScript 的 getter/setter 干净地做到了这一点,它们(正确地)通过解析未调整的日期字符串在我们的 DTO 中设置序列化的“日期”对象。

例如。当您设置 Date 对象的值时,在设置器中将 Date 转换为 String 并为该日期设置一个 String 字段。在 getter 中,您获取该日期的 String 值并对其进行解析,返回一个新的 Date 对象。在服务器端和客户端执行此操作。

显然,唯一需要注意的是,您需要确保 Flex 和服务器端 String-to-Date/Date-To-String 函数使用相同的日期格式。只需在您的序列化日期解析器/格式化程序旁边添加一个很好的评论来解释这一点(所以没有人会搞砸它),您就可以了。

我预计一旦基于 html5 的 Flex 编译器发布后,这个问题可能会消失(它实际上只是一个 Flash 功能,在我们的案例中并不是所希望的行为)。

【讨论】:

以上是关于Chrome Flash Player (Pepper) 日期 timezoneOffset 错误的主要内容,如果未能解决你的问题,请参考以下文章

Chrome Flash Player (Pepper) 日期 timezoneOffset 错误

chrome 'adobe flash player 已过期'解决方法

Google Chrome即将开始警告—停止支持Flash Player

ubuntu16.04安装flash player与谷歌浏览器(chrome)

chrome://plugins 无法打开的解决方法,同时解决“该网页已屏蔽插件-adobe flash player”

支持flash in Chrome 2017