☰

JavBus Copy Button

Add a copy button to the JavBus project to make it easy for mobile Safari to copy.

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴、Greasemonkey 油猴子 或 Violentmonkey 暴力猴,才能安装此脚本。

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴 或 Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴 或 Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         JavBus Copy Button
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Add a copy button to the JavBus project to make it easy for mobile Safari to copy.
// @author       loveJav
// @match        https://www.javbus.com/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=javbus.com
// @license MIT
// ==/UserScript==

(function() {
    'use strict';

    const tab = document.getElementById("magnet-table");

    if(!tab){
        return;
    }

    const interval = setInterval(() => {
        const rows = tab.querySelectorAll("tr");

        if(rows.length === 1) {
            return;
            console.log(1)
        }

        clearInterval(interval);

        for(let i = 1; i < rows.length; i++) {

            const row = rows[i];
            const a = row.children[0].children[0];
            const link = a.getAttribute('href');

            const cell = document.createElement('td');
            const button = document.createElement('button');

            button.textContent = 'Copy';

            button.style.textAlign = 'center';
            button.style.cursor = 'pointer';
            button.style.color = '#fff';
            button.style.background = 'linear-gradient(45deg, #2196F3 30%, #21CBF3 90%)';
            button.style.border = 'none';
            button.style.borderRadius = '3px';
            button.style.transition = '0.3s';

            button.onclick = function() {
                navigator.clipboard.writeText(link)
                    .then(() => {
                    alert('Copy successful!');
                })
                    .catch(err => {
                    console.error('Could not copy text: ', err);
                });
            };

            cell.appendChild(button);
            row.appendChild(cell);
        }
    }, 100);
})();