teracloud.jp 다이렉트 다운로드 주소 일괄 복사.

teracloud.jp 다이렉트 다운로드 주소를 복사 복사합니다.

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         teracloud.jp 다이렉트 다운로드 주소 일괄 복사.
// @namespace    teracloud.jp 다이렉트 다운로드 주소 일괄 복사.
// @match        *://*kita.teracloud.jp/*
// @version      0.1
// @description  teracloud.jp 다이렉트 다운로드 주소를 복사 복사합니다.
// @icon         data:image/png;base64,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
// @author       mickey90427 <[email protected]>
// @grant        GM_setClipboard
// ==/UserScript==

(function() {
    'use strict';

    // Function to extract the file names from the webpage, excluding rows containing a folder
    function extractFileNames() {
        var fileNames = [];
        var fileElements = document.querySelectorAll('.dojoxGridRow');
        for (var i = 0; i < fileElements.length; i++) {
            var isFolder = fileElements[i].querySelector('.folder');
            if (!isFolder) {
                var fileNameElement = fileElements[i].querySelector('.dojoxGridCell[idx="1"] .dojoxGridCellData');
                if (fileNameElement) {
                    var fileName = fileNameElement.textContent;
                    fileNames.push(fileName);
                }
            }
        }
        return fileNames;
    }

    // Function to copy the text to the clipboard
    function copyTextToClipboard(text) {
        GM_setClipboard(text);
    }

    // Function to add URL prefix to the file names
    function addURLPrefix(fileNames) {
        var urlPrefix = extractTextFromURL();
        var fileURLs = [];
        for (var i = 0; i < fileNames.length; i++) {
            var fileURL = urlPrefix + fileNames[i];
            fileURLs.push(fileURL);
        }
        return fileURLs;
    }

    // Function to extract the text after "/dav/" in the URL
    function extractTextFromURL() {
        var currentURL = window.location.href;
        var regex = /\/dav\/(.*)/;
        var match = regex.exec(currentURL);
        if (match && match.length > 1) {
            var extractedText = decodeURIComponent(match[1]);
            var result = "https://kita.teracloud.jp/v2/dav/" + extractedText;
            return result;
        }
        return "";
    }

    // Add URL Copy button to the page
    function addURLCopyButton() {
        var button = document.createElement("button");
        button.innerText = "URL 복사";
        button.style.position = "fixed";
        button.style.bottom = "10px";
        button.style.left = "10px";
        button.style.zIndex = "9999";
        button.addEventListener("click", function() {
            var fileNames = extractFileNames();
            if (fileNames.length > 0) {
                var fileURLs = addURLPrefix(fileNames);
                var fileURLsText = fileURLs.join("\n");
                copyTextToClipboard(fileURLsText);
                alert("URL이 클립보드에 복사되었습니다!");
            }
        });
        document.body.appendChild(button);
    }

    // Execute the script
    addURLCopyButton();
})();