Submit to Tab with Ctrl + Click / Ctrl + Enter

Sets form's target to `_blank` when submitted while Control key is being pressed.

01.03.2024 itibariyledir. En son verisyonu görün.

// ==UserScript==
// @name        Submit to Tab with Ctrl + Click / Ctrl + Enter
// @description Sets form's target to `_blank` when submitted while Control key is being pressed.
// @namespace   http://eldar.cz/myf/
// @license     CC0
// @version     2.0.1
// @grant       none
// @include     *
// ==/UserScript==
window.addEventListener('keyup', keyup, true);
window.addEventListener('keydown', keydown, true);
window.addEventListener('submit', submit, true);
const ctrlKey = "Control";
let isCtrlDown = false;
let theForm = null;
let origTarget = '';
function keyup (event){
  if(event.key === ctrlKey) {
    isCtrlDown = false;
    if(theForm !== null) {
      theForm.target = origTarget;
      theForm = null;
      origTarget = '';
    }
  }
}
function keydown (event){
  if(event.key === ctrlKey) {
    isCtrlDown = true;
  }
}
function submit (event){
  if(isCtrlDown === true && theForm === null) {
    theForm = event.target;
    origTarget = theForm.target;
    theForm.target = '_blank';
  }
}