decodeURI & Paste text - Keyboard shortcut

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

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 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;
});