代码之家  ›  专栏  ›  技术社区  ›  Savageman

要绑定哪个键以避免与本机浏览器快捷方式冲突

  •  18
  • Savageman  · 技术社区  · 16 年前

    我还没看到这个问题。 每个浏览器都有不同的本地键盘快捷键。如果我们想在我们的web应用程序中添加一些辛辣的东西,有没有人已经试图找出哪一个是免费/安全的?


    更多信息:

    我不需要特别针对每个浏览器。五个专业一个就够了。例如Opera使用 Ctrl键 + 钥匙 作为主要的组合 中高音 + 钥匙 “自由绑定”。

    因为不同的浏览器使用不同的主快捷激活键( Ctrl键 在Opera中),我可以很容易地想象使用不同的键来绑定快捷方式。即 中高音 + 钥匙 在歌剧和 Ctrl键 + 钥匙 在浏览器中 Ctrl键 + 中高音 在浏览器3中。

    7 回复  |  直到 11 年前
        1
  •  9
  •   Jasper wontondon    15 年前

    如果您只需要在有焦点的表单元素之外使用键盘快捷键,我将使用纯字母(不 Ctrl键 / 中高音 / 移位 /等等)。只有当表单元素具有焦点时,正则字符才对浏览器很重要。否则他们会被忽略。

    例如,如果您对内容进行了分页, 磷 可能是以前的 n 可能是下一个。

    (不确定这是否能完全解决您的问题,因为当表单元素具有焦点时,这将不起作用。)


    根据您的意见(焦点将在文本区域内),我建议为每个操作选择一个字母,并使用不同的 Ctrl键 / 中高音 / 换档 每个浏览器的组合。大多数人只使用一个浏览器,所以对于每个用户来说,仅仅学习他们自己的组合并不是什么大问题。

    例如, Ctrl键 + 中高音 + n 在一个浏览器中可能与 中高音 + n 在另一个。

    不过,我首先要测试的是 换档 ,因为大多数内置组合不使用一个,但我不知道组合是否总是不区分大小写。还要注意操作系统特定的组合。

    到目前为止,我发现最有用的是:

    OS X    - FF/Safari/Chrome - ctrl-[key]
    Windows - FF/IE            - ctrl-alt-[key]
    
        2
  •  9
  •   Ryan C. Thompson    16 年前

    对于一个实用的解决方案,复制google。他们有 keyboard shortcuts in Gmail (可能还有其他产品)在避免浏览器快捷方式方面做得相当好。

        3
  •  5
  •   rtpHarry    16 年前

    简而言之,答案是:

    令人失望的是,我们的研究 发现除了3把钥匙 曾被一项技术“宣称” 或者另一个:

    * AccessKey / (slash)
    * AccessKey (backslash)
    * AccessKey ] (right square bracket)
    

    本文对此进行了解释:

    维基百科的这篇文章对这一主题作了很好的总体介绍:

        4
  •  3
  •   Jasper wontondon    15 年前

    我的建议是根据浏览器的不同而改变它。事实是,有这么多的浏览器,我想你很难想出一个快捷方案,至少不会打破一个流行的浏览器。

    您可以根据浏览器更改快捷方式设置,也可以根据用户的浏览器更改指定要使用哪些快捷方式的说明。

    理想情况下,你应该让捷径尽可能直观( Ctrl键 + X 或 中高音 + X 等)不会实际干扰浏览器。


    编辑:或者,如果您愿意覆盖默认功能,可以使用以下命令: http://www.openjs.com/scripts/events/keyboard_shortcuts/

    当你用它指定一个快捷方式时,浏览器将忽略这个快捷方式,你可以在你的应用中使用它(就像gmail对 Ctrl键 + S ,例如)。

        5
  •  2
  •   Dave Black    15 年前

    我不确定这个列表是否详尽无遗,但是您可以在这里找到不同浏览器的快捷方式列表:

    http://hubpages.com/hub/Browser-Shortcuts-Cheat-Sheet

    希望这有帮助。如果你觉得这个答案有用,请把它标出来!

        6
  •  2
  •   Jasper wontondon    15 年前

    对于Mac用户来说,你肯定会选择 Ctrl键 作为 中高音 用于键入许多不同的字符,命令是浏览器使用的默认操作键。我也会避免使用基本的emacs样式快捷键的组合(有些用户会像 Ctrl键 + K 尽管这些不太为人所知,所以可能是有用的。

    对于windows来说,它更复杂-而且我自己也没有一个win-box来测试它。

        7
  •  1
  •   FelipeAls    16 年前

    屏幕阅读器(jaws,nvda,…)已经使用了整个键盘,包括死键(我有点恼火,但就使用的键盘快捷键数量而言,它正在与adobe photoshop竞争)。

    所以如果你想支持屏幕阅读器和其他辅助技术,你应该使用aria,尤其是 role="application" . 这样可以避免应用程序与网页中屏幕阅读器的默认工作模式之间的冲突。一个缺点是你有很多很多页要读…

    Introduction à WAI/ARIA (traduction en français) (我们共同的母语,不是sdz/zc吗?;)

    编辑:解决冲突的方法之一是让用户定义和修改自己的快捷方式。