百度翻译单词结果一键复制

百度翻译单词结果一键复制,方便做笔记

// ==UserScript==
// @name         百度翻译单词结果一键复制
// @namespace    http://tampermonkey.net/
// @version      2025-02-14.2
// @description  百度翻译单词结果一键复制,方便做笔记
// @author       foot foot
// @match        https://fanyi.baidu.com/*
// @icon         data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant        GM_setClipboard
// @license    GPL-3.0-only
// ==/UserScript==

(function() {
    'use strict';

    var copyButton = document.createElement('button');
    copyButton.innerHTML = '复制';
    copyButton.style.position = 'fixed';
    copyButton.style.left = '10px';
    copyButton.style.top = '30%';
    copyButton.style.transform = 'translateY(-50%)';
    copyButton.style.zIndex = 9999;
    document.body.appendChild(copyButton);

    copyButton.addEventListener('click', function() {
        var dictionaryOutput = document.querySelector('.dictionary-output');
        if (!dictionaryOutput) {
            alert('未找到元素');
            return;
        }

        var word = dictionaryOutput.querySelector('h3').innerText;
        var comments = dictionaryOutput.querySelectorAll('.dictionary-comment p');
        var textToCopy = word + '\n';

        comments.forEach(function(comment) {
            var partOfSpeech='';
            var b=comment.querySelector('b');
            if(b!=null&&comment.querySelector('b')!=undefined){
                partOfSpeech = b.innerText;
            }

            var spans=comment.querySelectorAll('span');
            var str='';
            spans.forEach(function(item){
                str+=item.innerText;
            });
            textToCopy += partOfSpeech.replace(/[\n\r]/g, '') +str +'\n';
        });

        GM_setClipboard(textToCopy.trim());
    });
})();