MENU

ITELLYOU NEXT 原版系统镜像磁力下载链接复制功能修复

ITELLYOU 是一个十分优秀的提供各类操作系统原版 ISO 镜像文件下载的网站。全站内容更新快,无广告,体验十分优秀。经好友提醒,使用新版网站时无法正常复制系统镜像磁力下载链接,经检查发现确实存在该问题。

不过好在系统镜像的磁力链接信息已经写在页面相关元素标签中,可能因为部分 JS 代码存在错误导致出现该 BUG(浏览器控制台中有几条错误信息)。其实只需要手动复制标签中的链接信息组合一下即可,但每次手动复制组合确实有点反人类,所以便有了此文。

浏览器安装红色篡改猴 Tampermonkey 扩展,新建一个用户脚本,复制并且填入下方的用户脚本代码,保存应用即可。

// ==UserScript==
// @name                ITELLYOU Link Copy Handler for BT and ED2K
// @version             2024-05-30
// @author              万里无云
// @website             https://www.hovthen.com/
// @description         修复 next.itellyou.cn 系统镜像下载磁力链接无法正常复制问题
// @description:en      Fix magnet link and ED2K link handling on next.itellyou.cn
// @match               *://next.itellyou.cn/Original/Index*
// @icon                https://www.google.com/s2/favicons?sz=64&domain=itellyou.cn
// @grant               GM_setClipboard
// @run-at              document-idle
// ==/UserScript==

(function () {
    'use strict';

    function convertBTLinks() {
        document.querySelectorAll('.btn-clipboard').forEach(link => {
            if (link.getAttribute('href') === 'javascript:void(0)') {
                const filename = link.getAttribute('data-filename');
                const length = link.getAttribute('data-length');
                if (link.hasAttribute('data-magnet')) {
                    const magnetHash = link.getAttribute('data-magnet');
                    const magnetLink = `magnet:?xt=urn:btih:${magnetHash}&dn=${encodeURIComponent(filename)}&xl=${length}`;
                    link.setAttribute('href', magnetLink);
                    link.textContent = '下载';
                } else if (link.hasAttribute('data-ed2k')) {
                    const ed2kHash = link.getAttribute('data-ed2k');
                    const ed2kLink = `ed2k://|file|${encodeURIComponent(filename)}|${length}|${ed2kHash}|`;
                    link.setAttribute('href', 'javascript:void(0)');
                    link.textContent = '复制';
                    link.addEventListener('click', (event) => {
                        event.preventDefault();
                        try {
                            GM_setClipboard(ed2kLink);
                        } catch (err) {
                            navigator.clipboard.writeText(ed2kLink).catch(err => {
                                prompt('ED2K 链接:',ed2kLink);
                            });
                        }
                    });
                }
            }
        });
    }

    new MutationObserver(function () {
        convertBTLinks();
    }).observe(document.body, { childList: true, subtree: true });

    convertBTLinks();
})();

考虑到大家电脑上应该都有安装到支持 Magnet 协议磁力种子下载工具,所以该选项由 ITELLYOU 官网的复制链接更改为直接打开,点击后浏览器会自动弹出提示框唤起磁力下载工具,使用更方便快捷。

最后编辑于: 2024 年 06 月 08 日
返回文章列表 文章二维码 打赏
本页链接的二维码
打赏二维码
添加新评论

请注意:提交内容均经由站长手动审核,请勿提交违规内容!