是否可以在网页上设置键盘快捷键?


7

不是系统或应用程序快捷方式,而是特定于某个网页的键盘快捷方式。

以Gmail快捷方式为例。

例:

在Facebook上按Alt+ f可以将Feed从“热门故事”更改为“最新”,反之亦然。

并允许用户自己设置这些快捷方式吗?也许是Chrome扩展程序?


您是说仅针对特定网页的键盘快捷键,例如在gmail窗口中添加宏来执行操作吗?还是当您在Chrome中的任意位置按键盘命令时,是否都希望使用快捷方式将您带到(例如)gmail?
马库斯·陈

@MarcusChan首先。例如,如果我altD在Facebook上按时,它将自动清除所有新通知。并让用户自己设置这些快捷方式。
2013年

如果您编辑问题以更明确地了解您想做什么,我们可以要求将其公开。
马库斯·陈

@marcus所以我已经编辑了问题,当我提到Gmail快捷方式时,我认为这很清楚。
2013年

您可以编写自己的用户脚本。我可以举一个Facebook示例为例,但是由于我没有Facebook帐户,因此我不得不问:您通常会执行什么操作来清除所有通知?
丹尼斯,

Answers:


7

扩展名Shortcut Manager允许您创建自定义键盘快捷键,但是执行内部页面操作需要对JavaScript或至少jQuery Selectors有一点了解。

正式说明

自定义快捷键;将任何Javascript代码或浏览器操作分配给任何按键。

您可以更改浏览器的默认快捷键,并为您的热键分配任何书签或Javascript操作。它在Firefox上用作Keyconfig。

动作示例:

  • 标签:“左标签”,“上目录”,“关闭右标签”,“打开您喜欢的页面”,...
  • 页面:“向上/向下滚动”,“插入签名”,...
  • 特别:“屏幕截图”
  • 自定义:执行任何书签或Java代码!

您也可以导入或导出设置,以便与他人共享。

安装

  1. 访问快捷方式经理
  2. 点击添加到Chrome
  3. 点击添加

我没有Facebook帐户,所以让我们使用键盘快捷键打开“超级用户”收件箱。

  1. 点击多功能框右侧的快捷方式管理器图标。

  2. 单击查看所有设置/添加新的快捷方式

  3. 单击输入字段快捷键,然后按所需的组合键。

    这可以是一个单一的多快捷键(例如,Ctrl+ Shift+ IAlt+ I)或键序列(例如,INBOX)。

  4. 选择适当的URL模式

    要匹配域superuser.com及其子域的所有页面,请使用:

    *://superuser.com/*
    *://*.superuser.com/*
    
  5. “操作”中,选择“ 执行Javascript”并输入

    http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
    

    (1)中

  6. 说明中输入打开收件箱

  7. 我们可以使用JavaScript的.click()方法来模拟鼠标在网页上任何项目上的点击。棘手的部分是访问这些项目。这是jQuery选择器派上用场的地方。

    通常,要访问您的收件箱,请先单击StackExchange下拉列表,然后单击inbox。我们都需要适当的选择器。

    • 右键单击StackExchange下拉列表,然后单击检查元素

      您将在开发人员工具中看到以下内容:

      <div id="header">
          <div id="portalLink">
              <a class="genu" onclick="StackExchange.ready(function(){genuwine.click();});return false;">Stack Exchange</a>
              </div>
              ...
      </div>
      

      <a>标签被高亮显示; 这是我们要模拟点击的元素。

      元素的类别是genu。我们可以简单地使用选择器.genu,但是如果同一个类中有多个元素,那将无法正常工作。一种更可靠的方法是使用选择器将其作为<div>具有ID PortalLink(ID唯一)的ID的子节点来访问#portalLink a.genu。然后,我们使用该.click()方法。

      (2)中输入以下任一行即可完成此工作:

      // click first <a> element with class `genu'
      // inside the element with ID `portalLink'
      $('#portalLink a.genu')[0].click();
      
      // click first <a> element with class `genu'
      // inside the element with ID `header'
      $('#header a.genu')[0].click();
      
      // click first element with class `genu' of the entire page
      $('.genu')[0].click();
      
      // click first <a> element of the entire page (unreliable)
      $('a')[0].click();
      
      // directly perform the onclick event (easy, but not always available)
      StackExchange.ready(function(){genuwine.click();});
      
    • StackExchange下拉列表中,右键单击收件箱,然后单击Inspect Element

      您将在开发人员工具中看到以下内容:

      <a id="seTabInbox" class="seCurrent">Inbox</a>
      

      该元素具有自己的ID:seTabInbox

      (2)中输入以下任一行即可完成此工作:

      // click first (only) element with ID `seTabInbox'
      $('#seTabInbox')[0].click();
      
      // click sixth <a> element of the entire page (unreliable)
      $('a')[5].click();
      
  8. 单击“ 保存”,然后重新加载所有打开的“超级用户”页面。您的快捷方式已准备就绪。


1
URL给出404
Kev 18'Dec

1
对于快捷方式经理,即
Kev 18'Dec

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.