您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Opens the “Tools” menu on Google Search automatically when page loaded.
当前为
- // ==UserScript==
- // @name Opens “Tools” Menu by Default on Google
- // @name:zh-TW 預設開啟 Google 的「工具」選單
- // @description Opens the “Tools” menu on Google Search automatically when page loaded.
- // @description:zh-TW 在 Google 搜尋載入後自動打開「工具」選單。
- // @icon https://wsrv.nl/?url=https://www.google.com/images/branding/googleg/1x/googleg_standard_color_128dp.png
- // @author Jason Kwok
- // @namespace https://jasonhk.dev/
- // @version 1.1.3
- // @license MIT
- // @match https://www.google.com/search
- // @match https://www.google.com/search?*
- // @run-at document-end
- // @grant none
- // @supportURL https://gf.qytechs.cn/scripts/460247/feedback
- // ==/UserScript==
- const TOOLS_BUTTON_ATTRIBUTES = [
- ["aria-controls", "hdtbMenus"],
- ["jsname", "I4bIT"],
- ["jscontroller", "LbcJwc"],
- ];
- const TOOLS_BUTTON_SELECTOR = TOOLS_BUTTON_ATTRIBUTES.map(([name, value]) => `[${name}=${value}]`).join(",");
- function handleToolsButton(button)
- {
- console.debug("“Tools” button found, activating the “Tools” menu...");
- clearTimeout(observerTimeout);
- observer.disconnect();
- const interval = setInterval(() =>
- {
- if (button.getAttribute("aria-expanded") === "true")
- {
- console.debug("“Tools” menu activated, congration!");
- clearTimeout(activateTimeout);
- clearInterval(interval);
- }
- else
- {
- button.click();
- }
- }, 250);
- const activateTimeout = setTimeout(() =>
- {
- console.debug("“Tools” menu not opened, aborting...");
- clearInterval(interval);
- }, 120000);
- }
- const observer = new MutationObserver((records) =>
- {
- for (const record of records)
- {
- for (const node of record.addedNodes)
- {
- if (node instanceof Element)
- {
- if (TOOLS_BUTTON_ATTRIBUTES.some(([name, value]) => (node.getAttribute(name) === value)))
- {
- handleToolsButton(node);
- }
- else
- {
- const button = node.querySelector(TOOLS_BUTTON_SELECTOR);
- if (button)
- {
- handleToolsButton(button);
- }
- }
- }
- }
- }
- });
- observer.observe(document.body, { subtree: true, childList: true });
- const observerTimeout = setTimeout(() =>
- {
- console.debug("“Tools” button still not exist, aborting...");
- observer.disconnect();
- }, 120000);
- const button = document.querySelector(TOOLS_BUTTON_SELECTOR);
- if (button)
- {
- handleToolsButton(button);
- }
- else
- {
- console.debug("“Tools” button not exist, attempting the MutationObserver method...");
- }
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址