bilibili分享小助手

bilibili复制分享纯净链接

目前为 2025-01-23 提交的版本。查看 最新版本

// ==UserScript==
// @name         bilibili分享小助手
// @namespace    http://tampermonkey.net/
// @version      1.1
// @description  bilibili复制分享纯净链接
// @author       You
// @match        https://www.bilibili.com/video/*
// @match        https://www.bilibili.com/list/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=bilibili.com
// @grant        GM_addStyle
// @license MIT
// ==/UserScript==
(function() {
    'use strict';

    // 函数:在 video-toolbar-left-main 下添加新按钮
    function addNewButton() {
        // 选择目标元素
        var targetElement = document.querySelector('div.video-toolbar-left-main');

        if (targetElement) {
            // 创建一个新的 div 元素用于按钮包裹
            var newDivWrap = document.createElement('div');
            newDivWrap.className = 'toolbar-left-item-wrap-csx';

            // 创建一个新的按钮元素
            var newButton = document.createElement('button');
            newButton.style.cssText = 'background-color: #1c2022; color: white; border: none; padding: 10px 20px; cursor: pointer;';
            newButton.textContent = '点击复制';
            newButton.className = 'new-custom-button';

            // 添加点击事件监听器以复制 URL
            newButton.addEventListener('click', function() {
                var titleElement = document.querySelector('h1.video-title.special-text-indent');
                var title = titleElement ? titleElement.getAttribute('data-title') : '';
                var url = window.location.href.substring(0, 45);
                var fullText = `「${title}」 ${url}`;

                navigator.clipboard.writeText(fullText).then(() => {
                    showTooltip(newButton, '已复制: ' + fullText);
                }).catch(err => {
                    console.error('复制文本失败: ', err);
                });
            });

            // 将按钮附加到新的 div 包裹中
            newDivWrap.appendChild(newButton);

            // 将新的 div 包裹附加到目标元素
            targetElement.appendChild(newDivWrap);
        } else {
            console.log('未找到目标元素。');
        }
    }

    // 函数:在按钮上方显示提示信息
    function showTooltip(button, message) {
        // 创建一个提示信息元素
        var tooltip = document.createElement('div');
        tooltip.style.cssText = 'position: absolute; background-color: black; color: white; padding: 5px 10px; border-radius: 5px; font-size: 14px; z-index: 1000; opacity: 0.9; transform: translateY(-10px); transition: opacity 0.5s ease-out;';
        tooltip.textContent = message;

        // 定位提示信息在按钮上方
        var rect = button.getBoundingClientRect();
        tooltip.style.left = rect.left + 'px';
        tooltip.style.top = rect.top - tooltip.offsetHeight - 5 + 'px';

        // 将提示信息附加到 body
        document.body.appendChild(tooltip);

        // 2 秒后移除提示信息
        setTimeout(function() {
            document.body.removeChild(tooltip);
        }, 2000);
    }

    // 延迟 3.5秒后运行函数
    setTimeout(addNewButton, 3500);
})();

QingJ © 2025

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