【问题标题】:Keyboard focus being stolen by Flash [closed]键盘焦点被Flash窃取[关闭]
【发布时间】:2009-06-02 07:58:39
【问题描述】:

执行搜索时,我注意到几个问题专门用于如何窃取/捕获访问者的键盘焦点。考虑到这个网站致力于编程,这并不令人惊讶。我想知道是否有人可以建议我如何防止这种行为。失去键盘焦点闪烁基本上会删除我的浏览器的功能,直到我使用鼠标单击其他地方(我使用 Mozilla Firefox)。有人知道某种插件或greasemonkey脚本可以防止我的键盘焦点被盗吗?由于必须使用鼠标将键盘焦点返回给浏览器,普通的浏览器“快捷方式”变得无用。

编辑:回复下面的帖子,我确实有 flashblock / noscript 和其他一些东西。我的问题是我想看到/与窃取我的注意力进行交互的闪光。基本上是在寻找我可以切换的东西,以防止 Flash 获得键盘焦点或强制我的 firefox 键盘命令到浏览器的方法

【问题讨论】:

  • 帮助!我也是!让我发疯,因为我是键盘驱动的。
  • OP 不是在寻找编程的东西,他们在寻找一个插件。这属于超级用户。
  • 请迁移到超级用户!安装Focus Retainer addon 并按ctrl+f12

标签: flash keyboard focus


【解决方案1】:

不幸的是,well known FF bug 已经有将近十年的历史了(现在也在 Chrome 中),它在 IE 中不存在。所有 Ctrl+TCtrl+TabCtrl+ W 等键仅在焦点位于 Flash 对象上时停止工作。

更糟糕的是,似乎还没有人知道它的修复方法(参见上面的线程)。一些 IBM 人提出了hack fix for Linux,但没有适用于 Windows 的。真的很烦。

[2013 年 3 月更新:在 google chrome 版本“24.0.1312.52 m”中,我假设更高版本,Ctrl+Tab 键不会失去焦点以闪烁]

【讨论】:

  • 我在 Chrome 中使用 jQuery 得到了这个可怕的 hack,其中 this 是页面的一些元素,如果视口滚动到:$("").css( {不透明度:0}).appendTo(this).focus().remove();
  • 酷,这真的有效!!!谢谢 Henrik,它必须是正确的答案,而不是评论
【解决方案2】:

似乎没有 CTRLALT 组合可以释放焦点。唯一有效的是操作系统的。转到另一个窗口对您没有帮助,焦点仍然存在,不,您不能更改选项卡、关闭它或做任何您通常使用键盘会做的事情。

我在没有鼠标的情况下使用我的电脑有一段时间了,这是我遇到的第一个实际问题(除了缺少某些网站的拖放功能和面临无法访问的按钮(如图标)之外)。所以那些面临同样困境并且不想完全关闭 Firefox 的人,仍然可以使用 ALT 来专注于应用程序的工具栏(至少在 Windows 中)。但是,没有关闭选项卡的选项,但您可以从历史记录中选择任何其他站点(例如,您的主页首先带有 h 字母),然后最后关闭选项卡。

所以(至少在使用 FF5 的 Windows 中)例如在英文版的 Firefox 中,您可以输入: ALT+S+H 然后使用 ALT 返回(或使用 CTRL+WCTRL+F4).

【讨论】:

    【解决方案3】:

    类似的问题: Flash steals browser focus

    (不被接受但看起来很有希望)的答案:

     document.body.focus();
    

    可能对你有用。这很容易被戏弄。大概吧。

    【讨论】:

      【解决方案4】:

      在使用 Firefox 4 的 Mac OSX 10.6 上,如果插件 (flash) 具有焦点并且使用 Cmd+1Cmd 无法正常工作+T 用于新标签页等。

      先用Cmd+L给浏览器地址栏焦点,再用Cmd+1等等……

      【讨论】:

        【解决方案5】:

        Alt-Tabbing 到您当前的应用程序将返回焦点。

        【讨论】:

        • 在运行多个标签的浏览器中,当您返回浏览器时,这不会将焦点从 Flash 内容移动。
        【解决方案6】:

        首先,检查以确保您使用的 Flash 播放器版本高于 6.0。此外,另一位响应者是正确的。 FireFox 不应该自动关注内联 Flash 内容...它不是这样设计的。

        其次,这不仅仅是一个烦恼,这是一个可访问性问题。那些只能使用键盘或屏幕阅读器等辅助设备导航的用户将无法逃脱……因为他们不会/不能使用鼠标。

        要避免在键盘导航中出现 Flash,或从 Web 浏览器和屏幕阅读器中隐藏不重要的 Flash 内容,请将值为 opaque 的 wmode 选项添加到包含 Flash 影片或 swf 的网页的对象和嵌入标签.

        代码示例:

        <object ...>
        <param name="wmode" value="opaque">
        <embed wmode="opaque" ...>
        </embed>
        </object>
        

        这将有效地从屏幕阅读器/辅助设备和键盘隐藏 Flash 影片。它仍会在页面中可见,但在页面中导航时,键盘将绕过 Flash 内容,屏幕阅读器将表现得好像它根本不存在一样。

        然而!!!! 如果电影/swf 确实包含重要信息,请在页面中单独显示 Flash 电影,或包含下载最新版本 Flash 播放器的链接并告知用户他们需要使用此版本。 -- 当然,你应该让你的 Flash 键盘可以导航。

        Flash 的衰落:本机键盘导航 Flash 仅适用于 - 我重复一遍,仅在 Internet Explorer 中可用...因为 Adob​​e/Macromedia 设计的“可访问 Flash”可与 MSAA(Microsoft Active Accessibility)技术和唯一支持的浏览器一起使用MSAA 技术是 Internet Explorer。

        【讨论】:

          猜你喜欢
          • 2015-09-15
          • 1970-01-01
          • 2016-04-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多