您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
输入关键词生成组合叠词
当前为
// ==UserScript== // @name 关键词叠词生成器 // @namespace http://tampermonkey.net/ // @version 1.1 // @description 输入关键词生成组合叠词 // @author You // @match https://www.amazon.com/* // @match https://www.amazon.co.uk/* // @grant GM_addStyle // ==/UserScript== (function () { 'use strict'; // 样式优化和响应式适配 GM_addStyle(` #wordGeneratorContainer { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 2147483647; background-color: #f9f9f9; padding: 20px; border: 2px solid #ccc; border-radius: 15px; box-shadow: 0 8px 15px rgba(0, 0, 0, 0.2); display: none; font-family: 'Arial', sans-serif; transition: all 0.3s ease; width: 90%; max-width: 500px; } #wordGeneratorContainer .inputRow { display: flex; flex-wrap: wrap; justify-content: space-between; margin-bottom: 10px; } #wordGeneratorContainer input, #wordGeneratorContainer button { margin: 5px; padding: 12px 18px; font-size: 16px; border-radius: 8px; border: 1px solid #ccc; outline: none; transition: border 0.3s ease; flex: 1 1 45%; } #wordGeneratorContainer input:focus, #wordGeneratorContainer button:hover { border-color: #0073e6; } #outputArea { white-space: pre-wrap; word-wrap: break-word; margin-top: 15px; border: 1px solid #ddd; padding: 15px; background-color: #f4f4f4; min-height: 150px; max-height: 200px; overflow-y: auto; border-radius: 8px; } #openGeneratorButton { position: fixed; bottom: 20px; right: 20px; background-color: #0073e6; color: white; padding: 15px 20px; font-size: 20px; border: none; border-radius: 50%; cursor: pointer; z-index: 2147483647; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); transition: transform 0.2s ease; } #openGeneratorButton:hover { transform: scale(1.1); } #closeButton { position: absolute; top: 5px; right: 5px; background-color: #ff3b3b; color: white; padding: 8px 12px; font-size: 14px; border: none; border-radius: 50%; cursor: pointer; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2); transition: background-color 0.3s ease; } #closeButton:hover { background-color: #d32f2f; } `); // 定义多语言提示 const messages = { zh: { inputRequired: '请输入至少两个关键词生成叠词!', copySuccess: '叠词已成功复制!', copyFail: '复制失败,请重试!', noContent: '没有生成叠词可复制!', }, }; const lang = 'zh'; // 可扩展多语言 // 创建生成器容器 const container = document.createElement('div'); container.id = 'wordGeneratorContainer'; const inputRow = document.createElement('div'); inputRow.classList.add('inputRow'); const inputBox = document.createElement('input'); inputBox.type = 'text'; inputBox.placeholder = '输入关键词'; const generateButton = document.createElement('button'); generateButton.textContent = '生成叠词'; const copyButton = document.createElement('button'); copyButton.textContent = '一键复制'; const clearButton = document.createElement('button'); clearButton.textContent = '清空'; const exportButton = document.createElement('button'); exportButton.textContent = '导出文本'; const outputArea = document.createElement('pre'); outputArea.id = 'outputArea'; const closeButton = document.createElement('button'); closeButton.textContent = '×'; closeButton.id = 'closeButton'; // 将元素添加到容器 inputRow.appendChild(inputBox); inputRow.appendChild(generateButton); inputRow.appendChild(copyButton); inputRow.appendChild(clearButton); inputRow.appendChild(exportButton); container.appendChild(inputRow); container.appendChild(outputArea); container.appendChild(closeButton); // 将容器添加到页面中 document.body.appendChild(container); // 创建触发弹出的按钮 const openGeneratorButton = document.createElement('button'); openGeneratorButton.textContent = '叠'; openGeneratorButton.id = 'openGeneratorButton'; // 将触发按钮添加到页面 document.body.appendChild(openGeneratorButton); // 生成叠词组合 function generateCombinations(input) { const words = input.split(/[\s,,]+/).filter(Boolean); const length = words.length; if (length < 2) { return messages[lang].inputRequired; } let combinations = []; if (length === 2) { combinations.push(`${words[0]} ${words[0]} ${words[1]} ${words[1]}`); } else if (length === 3) { combinations.push(`${words[0]} ${words[1]} ${words[2]} ${words[0]} ${words[1]} ${words[2]}`); } else if (length === 4) { combinations.push(`${words[0]} ${words[1]} ${words[2]} ${words[3]} ${words[0]} ${words[1]} ${words[2]} ${words[3]}`); } return combinations.join('\n'); } // 按钮事件处理 generateButton.addEventListener('click', () => { const input = inputBox.value; outputArea.textContent = generateCombinations(input); }); copyButton.addEventListener('click', () => { const textToCopy = outputArea.textContent; if (textToCopy) { navigator.clipboard.writeText(textToCopy).then(() => { alert(messages[lang].copySuccess); }).catch(() => { alert(messages[lang].copyFail); }); } else { alert(messages[lang].noContent); } }); clearButton.addEventListener('click', () => { inputBox.value = ''; outputArea.textContent = ''; }); exportButton.addEventListener('click', () => { const content = outputArea.textContent; if (content) { const blob = new Blob([content], { type: 'text/plain;charset=utf-8' }); const link = document.createElement('a'); link.href = URL.createObjectURL(blob); link.download = '叠词组合.txt'; link.click(); } else { alert(messages[lang].noContent); } }); openGeneratorButton.addEventListener('click', () => { container.style.display = container.style.display === 'block' ? 'none' : 'block'; }); closeButton.addEventListener('click', () => { container.style.display = 'none'; }); })();