-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathpaste-decoded-uri-shortcut.user.js
35 lines (30 loc) · 1.12 KB
/
paste-decoded-uri-shortcut.user.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// ==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;
});