【问题标题】:Windows Safari 5 bug when using backspace in a Flash web application在 Flash Web 应用程序中使用退格键时出现 Windows Safari 5 错误
【发布时间】:2011-04-07 18:46:40
【问题描述】:

我在 Windows 平台上开发我的 Flash 应用程序时注意到了这个错误。如果在 Windows 上的 Safari 5 浏览器中运行的 Flash swf 中的文本框中输入文本,然后按退格键,浏览器将跳转到历史记录中的上一页,而不是执行退格键应该执行的功能 - 这是另一个报告的链接这个苹果虫 -

http://www.ruelke.org/blog-entry-138.html

我们如何解决这个苹果问题? 干杯

【问题讨论】:

    标签: flash safari adobe backspace


    【解决方案1】:

    你用的是什么模式?尝试将 wmode 设置为不透明。使用 wmode 透明时有许多键盘输入错误。

    【讨论】:

      【解决方案2】:

      你试过nightly吗?如果它仍然损坏,您应该在http://bugs.webkit.org 提交一个错误,这确实是修复错误的最佳方式。

      【讨论】:

        【解决方案3】:

        您的目标是什么版本的 Flash 播放器?我注意到从 CS5 发布时键盘焦点的处理方式不同。

        【讨论】:

          【解决方案4】:

          您能否在 safari 处理关键事件之前使用 JavaScript 劫持关键事件。我知道在 yahoo 邮件上(相当烦人) cntrl-w 关闭一个邮件选项卡,而不是实际的选项卡。

          按键事件是这样的:

          function preventBackspace(e) {
              var evt = e || window.event;
              if (evt) {
                  var keyCode = evt.charCode || evt.keyCode;
                  if (keyCode === 8) {
                      if (evt.preventDefault) {
                          evt.preventDefault();
                      } else {
                          evt.returnValue = false;
                      }
                  }
              }
          }
          

          取自here

          【讨论】:

          • 这不起作用。我刚刚遇到这个错误并试图终止事件传播。它在组件级别被杀死,并且不会在应用程序级别触发(也不应该如此),但确实可以进入 Safari。不过,设置 wmode="opaque" 可以解决问题。
          猜你喜欢
          • 1970-01-01
          • 2015-08-07
          • 2021-03-26
          • 2017-04-14
          • 1970-01-01
          • 2021-05-08
          • 1970-01-01
          • 1970-01-01
          • 2016-08-04
          相关资源
          最近更新 更多