Focus & Resize Tag Field on HN User Page

Focus and enlarge the "tag" input field even if it's added later

// ==UserScript==
// @name         Focus & Resize Tag Field on HN User Page
// @namespace    https://news.ycombinator.com/
// @version      1.2
// @description  Focus and enlarge the "tag" input field even if it's added later
// @match        https://news.ycombinator.com/user?id=*
// @grant        none
// @license        MIT
// ==/UserScript==

(function() {
    'use strict';

    const widenAndFocusTagField = () => {
        const forms = document.querySelectorAll('form');

        for (const form of forms) {
            const inputs = form.querySelectorAll('input');
            if (
                inputs.length === 2 &&
                inputs[1].type === 'submit' &&
                inputs[1].value.toLowerCase() === 'save'
            ) {
                const tagInput = inputs[0];
                tagInput.focus();
                tagInput.style.width = '300px';  // Adjust this value as needed
                return true;
            }
        }

        return false;
    };

    // Try once immediately
    if (widenAndFocusTagField()) return;

    // Otherwise observe for DOM changes
    const observer = new MutationObserver(() => {
        if (widenAndFocusTagField()) {
            observer.disconnect();
        }
    });

    observer.observe(document.body, {
        childList: true,
        subtree: true
    });
})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址