自己写油猴脚本在本地web开发中很好用啊


#1

预备知识:{grease, tamper, violent} monkey是一些浏览器插件,让你可以在某些网页上加载自定义脚本。其中(似乎)grease monkey是最老的,所以中文一般称“油猴脚本”,tamper和violent是web extension,所以可以在Chrome、新版firefox等等浏览器间方便地移植。tamper是现在最流行的,但是不开源。

正文: 之前听说很好用就在自己电脑上装了,只用了寥寥三五个脚本,前两天在开发的时候第1001次登录的时候突然想,为什么不用脚本自动填用户名密码呢?果然,真香。后来又写了快捷键在几个常用的页面间跳转(vimium用户要先按一下i :neutral_face: ),暂时只支持两个按键的序列:

// ==UserScript==
// @name page switcher
// @namespace Violentmonkey Scripts
// @match http://localhost:8080/*
// @grant none
// @description Use some key sequences to quickly switch to desired pages.
// ==/UserScript==

const leader = ' ';
const keyURLMap = {
  f: 'http://localhost:8080/foo',
  b: 'http://localhost:8080/bar',
};
let waiting = false;

document.addEventListener('keydown', event => {
  // step aside when the user's typing
  if (event.target.outerHTML.match(/^(<textarea)|(<input .*type="text")/)) {
    return;
  }

  const key = event.key;
  if (key === leader) {
    waiting = true;
    return;
  }

  if (waiting) {
    if (key in keyURLMap) {
      window.location.href = keyURLMap[key];
    } else {
      waiting = false;
    }
  }
});