Google Tools Button Clicker

Automatically clicks Tools button on Google search.

Verze ze dne 22. 06. 2020. Zobrazit nejnovější verzi.

K instalaci tototo skriptu si budete muset nainstalovat rozšíření jako Tampermonkey, Greasemonkey nebo Violentmonkey.

You will need to install an extension such as Tampermonkey to install this script.

K instalaci tohoto skriptu si budete muset nainstalovat rozšíření jako Tampermonkey nebo Violentmonkey.

K instalaci tohoto skriptu si budete muset nainstalovat rozšíření jako Tampermonkey nebo Userscripts.

You will need to install an extension such as Tampermonkey to install this script.

K instalaci tohoto skriptu si budete muset nainstalovat manažer uživatelských skriptů.

(Už mám manažer uživatelských skriptů, nechte mě ho nainstalovat!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(Už mám manažer uživatelských stylů, nechte mě ho nainstalovat!)

// ==UserScript==
// @name        Google Tools Button Clicker
// @name:ja     Google Tools Button Clicker
// @name:zh-CN  Google Tools Button Clicker
// @description Automatically clicks Tools button on Google search.
// @description:ja Google検索結果のページでツールボタンを自動的にクリックします。
// @description:zh-CN 在Google搜索结果的页面上自动单击工具按钮。
// @namespace   knoa.jp
// @include     https://www.google.*/search*
// @version     2.2.1
// @grant       none
// ==/UserScript==

/*
[update]
Stability fix.
*/
(function(){
  const TARGETS = {
    tools: () => document.querySelector('#hdtb-tls'),
  };
  const TIMEOUT = 250;
  const openMenus = function(){
    if(document.hidden) window.addEventListener('focus', openMenus, {once: true});
    let tools = TARGETS.tools(), ae = document.activeElement;
    /* not yet ready? */
    if(!tools) return setTimeout(openMenus, TIMEOUT);
    /* already opened? */
    if(tools.getAttribute('aria-expanded') === 'true') return;
    /* now being closed, so */
    tools.click(), ae.focus();
    tools.addEventListener('mouseover', tools.click);
    tools.addEventListener('mouseout', tools.click);
    tools.addEventListener('click', function(e){
      if(e.isTrusted === false) return;
      tools.removeEventListener('mouseover', tools.click);
      tools.removeEventListener('mouseout', tools.click);
    });
  };
  window.addEventListener('load', openMenus, {once: true});
})();