1024magnet_magnet

1024 mobile version copy magnet

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name         1024magnet_magnet
// @namespace    http://tampermonkey.net/
// @version      0.7
// @license MI
// @description  1024 mobile version copy magnet 
// @author       You
// @match        *://*/htm_mob/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    document.querySelectorAll('a').forEach(function(anchor) {
    // 检查链接中是否包含指定字符串
    if (anchor.href.indexOf('link.php?hash=') !== -1) {

        // 提取 hash (保持了你原本 +8 的逻辑,如果是纯 'hash=' 其实长度是5,请根据实际情况确认)
        var startIndex = anchor.href.lastIndexOf('hash=') + 8;
        var hash = anchor.href.substr(startIndex, 40);

        // 创建 textarea
        var ss = document.createElement('textarea');
        ss.readOnly = true;

        // 生成磁力链接
        var magnetLink = 'magnet:?xt=urn:btih:' + hash;
        ss.value = magnetLink; // textarea 推荐用 value

        // 修改原链接的 href
        anchor.href = magnetLink;

        // 点击复制功能
        ss.addEventListener('click', function() {
            ss.select();
            document.execCommand('copy');
            // 可选:复制后给个提示,例如 console.log('已复制');
        });

        // 将 textarea 插入到 a 标签后面
        // Element.after() 是现代浏览器支持的原生方法,等同于 jQuery 的 .after()
        anchor.after(ss);
    }
});
    
})();