decodeURI & Paste text - Keyboard shortcut

Calling decodeURI to get a nicer and readable URI (Ctrl + Shift + V)

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         decodeURI & Paste text - Keyboard shortcut
// @namespace    https://github.com/arieljannai/tampermonkey-scripts
// @version      0.1.1
// @description  Calling decodeURI to get a nicer and readable URI (Ctrl + Shift + V)
// @author       Ariel Jannai
// @icon         https://pixabay.com/static/uploads/photo/2012/04/16/13/10/document-35941_960_720.png
// @include      /^https?://.*/
// @grant        none
// @license      MIT
// ==/UserScript==
/* jshint -W097 */
'use strict';

var pressedKeysTracking = {};

document.addEventListener('keydown', function(e) {
  pressedKeysTracking[e.which] = true;
});

document.addEventListener('keyup', function(e) {
  delete pressedKeysTracking[e.which];
});

function handlePasteEvent(e) {
  if (pressedKeysTracking[17] && pressedKeysTracking[16] && pressedKeysTracking[86]) {
    e.preventDefault();
    document.execCommand("insertHTML", false, decodeURI(e.clipboardData.getData("Text")));
  }
};

Array.prototype.slice.call(document.querySelectorAll("div[contenteditable], input")).map(function(x){
  x.addEventListener("paste", handlePasteEvent);
  return x;
});