decodeURI & Paste text - Keyboard shortcut

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

  1. // ==UserScript==
  2. // @name decodeURI & Paste text - Keyboard shortcut
  3. // @namespace https://github.com/arieljannai/tampermonkey-scripts
  4. // @version 0.1.1
  5. // @description Calling decodeURI to get a nicer and readable URI (Ctrl + Shift + V)
  6. // @author Ariel Jannai
  7. // @icon https://pixabay.com/static/uploads/photo/2012/04/16/13/10/document-35941_960_720.png
  8. // @include /^https?://.*/
  9. // @grant none
  10. // @license MIT
  11. // ==/UserScript==
  12. /* jshint -W097 */
  13. 'use strict';
  14.  
  15. var pressedKeysTracking = {};
  16.  
  17. document.addEventListener('keydown', function(e) {
  18. pressedKeysTracking[e.which] = true;
  19. });
  20.  
  21. document.addEventListener('keyup', function(e) {
  22. delete pressedKeysTracking[e.which];
  23. });
  24.  
  25. function handlePasteEvent(e) {
  26. if (pressedKeysTracking[17] && pressedKeysTracking[16] && pressedKeysTracking[86]) {
  27. e.preventDefault();
  28. document.execCommand("insertHTML", false, decodeURI(e.clipboardData.getData("Text")));
  29. }
  30. };
  31.  
  32. Array.prototype.slice.call(document.querySelectorAll("div[contenteditable], input")).map(function(x){
  33. x.addEventListener("paste", handlePasteEvent);
  34. return x;
  35. });