Greasy Fork

Greasy Fork is available in English.

关键词叠词生成器带复制按钮

输入关键词自动生成组合的叠词,分行显示并带复制按钮

目前为 2024-11-15 提交的版本,查看 最新版本

// ==UserScript==
// @name         关键词叠词生成器带复制按钮
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  输入关键词自动生成组合的叠词,分行显示并带复制按钮
// @author       You
// @match        *://*/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // 创建一个简单的界面,输入框、按钮和复制按钮
    const container = document.createElement('div');
    container.style.position = 'fixed';
    container.style.top = '10px';
    container.style.right = '10px';
    container.style.padding = '10px';
    container.style.backgroundColor = '#fff';
    container.style.border = '1px solid #ccc';
    container.style.zIndex = '9999';
    container.style.maxWidth = '300px';

    const inputLabel = document.createElement('label');
    inputLabel.innerHTML = '输入关键词: ';
    container.appendChild(inputLabel);

    const inputBox = document.createElement('input');
    inputBox.type = 'text';
    inputBox.placeholder = '输入关键词';
    container.appendChild(inputBox);

    const generateButton = document.createElement('button');
    generateButton.innerHTML = '生成叠词';
    container.appendChild(generateButton);

    const copyButton = document.createElement('button');
    copyButton.innerHTML = '复制所有组合';
    copyButton.style.marginTop = '10px';
    container.appendChild(copyButton);

    const resultContainer = document.createElement('div');
    resultContainer.style.marginTop = '10px';
    container.appendChild(resultContainer);

    document.body.appendChild(container);

    // 生成叠词组合的函数
    function generateCombinations(input) {
        const words = input.split(' ');
        const result = [];

        // 遍历生成不同的组合
        for (let i = 0; i < words.length; i++) {
            for (let j = i; j < words.length; j++) {
                const combination = [...words.slice(0, i), ...words.slice(i, j + 1), ...words.slice(j + 1)].join(' ');
                result.push(combination);
            }
        }

        return result;
    }

    // 当点击按钮时,生成叠词并显示
    generateButton.addEventListener('click', function() {
        const input = inputBox.value.trim();
        if (!input) {
            resultContainer.innerHTML = '请输入关键词!';
            return;
        }

        const combinations = generateCombinations(input);
        resultContainer.innerHTML = combinations.join('<br>');
    });

    // 一键复制功能
    copyButton.addEventListener('click', function() {
        const text = resultContainer.innerText;
        if (!text) {
            alert('没有生成叠词可以复制!');
            return;
        }

        const textArea = document.createElement('textarea');
        textArea.value = text;
        document.body.appendChild(textArea);
        textArea.select();
        document.execCommand('copy');
        document.body.removeChild(textArea);
        alert('叠词已复制到剪贴板!');
    });
})();