有些网站(现在似乎越来越多)劫持各种组合键来执行网站内部定义的操作。有/GMail 中的具体示例在一个标题不恰当的问题中;StackExchange 编辑框劫持了“添加图片”的Ctrl+ G(而不是 Firefox 正常的“查找下一个”);Facebook 劫持了Esc隐藏覆盖层而不是通常的“停止加载”。我确信我可以继续举出很多例子,但这应该足以说明这一点这个问题与任何一个特定的网站无关。
我经常使用键盘,键盘快捷键根据我所访问的网站而有不同的行为,这让我很烦恼。如果我按下浏览器定义的键盘快捷键,我希望浏览器定义的操作被执行,而不是其他操作。我也不希望某些通常可以通过键盘访问的功能无法通过键盘访问,或者突然被重新映射到其他组合键。
我意识到这可能会使某些网站上的事情变得更加麻烦,但在这种情况下,我更喜欢一致性。
是否可以将 Firefox 设置为防止或者忽略此类网站劫持并支持 Firefox 自己定义的行为?
至少适用于 Linux 和 Windows 上的 Firefox 版本 20、21 和 22 的解决方案是理想的。
编辑 Mozilla Bugzilla Bug 380637 网页是否应该能够覆盖浏览器的键盘快捷键?似乎表明至少有人在关注它。该错误最初于 2007 年中期提交,截至 2013 年中期仍然有效。有趣的是,bug 775002 允许用户禁用 javascript 来劫持键盘快捷键在 Firefox 15 左右被认为是重复的。
答案1
您可以使用 Vimperator 插件。旨在使 Firefox 成为仅使用键盘的界面,它首先监听您按下的任何按键并执行自己的操作。有时当您需要使用网站定义的键盘劫持时,您可以轻松地启用/禁用一段时间的直通模式。
让我们以 GMail 为例,它提供了大量的键盘快捷键。但是当您按下任何此类快捷键时,它都由 Vimperator 本身处理。例如,/
在 GMail 内部按下通常会将光标放在搜索框中。但在/
Vimperator 处于活动状态时,在 GMail 页面中按下会触发其默认页面搜索(就像在 Vim 编辑器中搜索一样)。其他 GMail 快捷键(如o
c
或 甚至)的情况Ctrl+Enter
也是如此。这意味着,Vimperator 将成为 Firefox 中按键的第 0 个侦听器,甚至覆盖第 1 个可能的侦听器,以便您的键盘快捷键在整个浏览器中都是全局的。
Vimperator 基本上是 Firefox 上的 Vim 包装器。如果您熟悉 Vim,Vimperator 就像您久违的朋友一样。:-)
无论如何,以下是一些 Vimperator 键盘快捷键,可帮助您入门:
o<link>
打开。此序列将激活 Vimperator 命令行(位于屏幕底部),命令open <link>
将放在那里,中间会为您插入空格。按Enter
加载页面。
t<link
激活命令tabopen
并在新选项卡中打开链接。
gt
切换到下一个选项卡。Ctrl+Tab
并且Ctrl+PgUp/Dn
也能工作。
gT
切换到上一个选项卡。
ZZ
保存会话后关闭 FF。
f
用高亮数字标记页面视图中的所有链接。输入数字即可打开链接。所有高亮字段均可搜索。因此,您无需输入数字,只需输入要转到的高亮链接中的任何文本即可。
F
在后台选项卡中打开链接。
h
j
k
l
浏览页面left
down
up
并right
Vimperator 提供了大量的键盘快捷键(当然,这让整个体验无需鼠标操作,非常轻松),而且 FF 的大多数默认快捷键都像平常一样工作。您可以找到快捷键来突出显示文本、复制文本、像浏览文本文档一样浏览页面、放大/缩小、模拟悬停在链接上,简而言之,就是任何可以让 Firefox 响应鼠标的操作。
据我使用过,它唯一不能工作的地方是 Flash 盒内,因为 FF 无法访问其中的内容。
如果你不了解 Vim 或刚开始使用它,可能需要一点时间来适应。但是,真的广泛的在线帮助触手可及:h<Enter>
。
这里是关联。
答案2
- 尝试使用 Firefox 的 noscript 插件来禁用一些 JS 脚本 http://noscript.net/