Text Book PDF Link Extractor for Smartedu

Extract and display links from Smartedu's text books

// ==UserScript==
// @name         Text Book PDF Link Extractor for Smartedu
// @namespace    http://tampermonkey.net/
// @version      2.0
// @description  Extract and display links from Smartedu's text books
// @author       Fieber Zhang
// @match        *://basic.smartedu.cn/tchMaterial/*
// @grant        none
// @license MIT
// ==/UserScript==

(function() {
    'use strict';

    // 创建浮动窗口的样式
    const styles = `
        #iframe-url-extractor {
            position: fixed;
            top: 10px;
            right: 10px;
            width: 300px;
            max-height: 200px;
            overflow-y: auto;
            background: white;
            border: 1px solid #ccc;
            box-shadow: 0 0 10px rgba(0,0,0,0.5);
            z-index: 9999;
            padding: 10px;
            border-radius: 5px;
        }
        #iframe-url-extractor h2 {
            margin: 0;
            font-size: 16px;
            border-bottom: 1px solid #ccc;
            padding-bottom: 5px;
            margin-bottom: 10px;
        }
        #iframe-url-extractor a {
            display: block;
            margin-bottom: 5px;
            color: blue;
            text-decoration: none;
        }
        #iframe-url-extractor a:hover {
            text-decoration: underline;
        }
    `;

    // 向页面插入样式
    const styleSheet = document.createElement("style");
    styleSheet.type = "text/css";
    styleSheet.innerText = styles;
    document.head.appendChild(styleSheet);

    // 创建浮动窗口
    const container = document.createElement('div');
    container.id = 'iframe-url-extractor';
    container.innerHTML = '<h2>Iframe URL</h2><div id="url-list">Loading...</div>';
    document.body.appendChild(container);

    console.log('Script initialized');

    // 等待 10 秒后执行
    setTimeout(() => {
        const iframe = document.querySelector('iframe');
        if (iframe) {
            console.log('Iframe found');

            // 获取 iframe 的 URL
            var iframeURL = iframe.src;
            console.log('Iframe URL:', iframeURL);

            const regex = /file=([^&]+)/;
            const match = regex.exec(iframeURL);
            if (match && match[1]) {
                iframeURL = decodeURIComponent(match[1]);
            } else {
                console.log('No URL found.');
            }

            // 在浮动窗口中显示 URL
            const urlList = document.getElementById('url-list');
            urlList.innerHTML = '';

            if (iframeURL) {
                // 使用正则表达式替换 '-private'
                const modifiedURL = iframeURL.replace(/-private/, '');
                const linkElement = document.createElement('a');
                console.log(modifiedURL)
                linkElement.href = modifiedURL;
                linkElement.target = '_blank'; // 在新标签页中打开
                linkElement.textContent = modifiedURL;
                urlList.appendChild(linkElement);
            } else {
                urlList.textContent = 'No URL found.';
            }
        } else {
            console.error('Iframe not found');
        }
    }, 10000);

})();

QingJ © 2025

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