预备知识:{grease, tamper, violent} monkey是一些浏览器插件,让你可以在某些网页上加载自定义脚本。其中(似乎)grease monkey是最老的,所以中文一般称“油猴脚本”,tamper和violent是web extension,所以可以在Chrome、新版firefox等等浏览器间方便地移植。tamper是现在最流行的,但是不开源。
正文: 之前听说很好用就在自己电脑上装了,只用了寥寥三五个脚本,前两天在开发的时候第1001次登录的时候突然想,为什么不用脚本自动填用户名密码呢?果然,真香。后来又写了快捷键在几个常用的页面间跳转(vimium用户要先按一下i
),暂时只支持两个按键的序列:
// ==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;
}
}
});