jav tag copy

获取页面的tag,返回带tag的文件名 "番号标题 #tag1 #tag2.."

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, Greasemonkey alebo Violentmonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, % alebo Violentmonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, % alebo Violentmonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey alebo Userscripts.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie, ako napríklad Tampermonkey.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie správcu používateľských skriptov.

(Už mám správcu používateľských skriptov, nechajte ma ho nainštalovať!)

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

(Už mám správcu používateľských štýlov, nechajte ma ho nainštalovať!)

// ==UserScript==
// @name         jav tag copy
// @namespace    https://github.com/dyxcloud
// @version      0.5.8.1
// @description  获取页面的tag,返回带tag的文件名 "番号标题 #tag1 #tag2.."
// @author       dyxlike
// @include     *://*javlibrary.com/*
// @include     *://*javlib.com/*
// @include     *://*javbus.com/*
// @include     *://*avsox.*/*
// @include     *://*javdb.com*/*
// @grant        GM_setClipboard
// @license MIT
// ==/UserScript==

(function() {
    'use strict';

    // 定义黑名单标签列表
    const blackTags = ['单体作品', '單體作品', '数位马赛克', '數位馬賽克'];

    function javLibGetter(){
        let result = '';
        // 获取标题
        let title = document.querySelector('#video_title > h3').innerText;
        result+=title;

        // 获取star
        let starAs = document.querySelectorAll('span.star > a');
        let stars = Array.from(starAs)
            .map(a => a.text)
            .join("#");
        if (stars !== "") {
            result += " #" + stars;
        }

        // 获取发行商
        let label = document.querySelector('#video_label .text a')?.innerText;
        // 获取发行日期
        let releaseDate = document.querySelector('#video_date .text')?.innerText;
        if ((label && label !== "") || (releaseDate && releaseDate !== "")) {
            result += " ";
            if (label && label !== "") {
                result += ("#" + label);
            }
            if (releaseDate && releaseDate !== "") {
                result += ("#" + releaseDate);
            }
        }

        // 获取tag
        let tagAs = document.querySelectorAll('#video_genres span.genre > a');
        let validTags = Array.from(tagAs)
            .map(a => a.text)
            .filter(tag => !blackTags.includes(tag))
            .join("#");
        if (validTags !== "") {
            result += " #" + validTags;
        }
        return result;
    }

    function javLib(){
        let button = document.createElement('a');
        button.innerText='点击复制tag文件名';
        button.href="#";
        let video_info = document.querySelector('#video_info');
        video_info.append(button);

        button.onclick = function () {
            let result = javLibGetter();
            GM_setClipboard(result);
        };
    }

    function javBusGetter(){
        let result = '';
        // 获取标题
        let title = document.querySelector('body > div.container > h3').innerText;
        console.log("title="+title);
        result+=title;

        // 获取star
        let starAs = document.querySelectorAll('span.genre > a[href*="/star/"]');
        let stars = Array.from(starAs)
            .map(a => a.text)
            .join("#");
        if (stars !== "") {
            result += " #" + stars;
        }

        // 获取发行商
        let labelAs = document.querySelectorAll('#video_info a[href*="/label/"]');
        let label = labelAs.length > 0 ? labelAs[0].innerText : "";
        // 获取发行日期
        let releaseDateE = document.querySelectorAll('#video_info > p:nth-child(2)');
        let releaseDate = releaseDateE.length > 0 ? releaseDateE[0].innerText.replace("發行日期:", "").trim() : "";
        if (label !== "" || releaseDate !== "") {
            result += " ";
            if (label !== "") {
                result += ("#" + label);
            }
            if (releaseDate !== "") {
                result += ("#" + releaseDate);
            }
        }

        // 获取tag
        let tagAs = document.querySelectorAll('span.genre a[href*="/genre/"]');
        let validTags = Array.from(tagAs)
            .map(a => a.text)
            .filter(tag => !blackTags.includes(tag))
            .join("#");
        if (validTags !== "") {
            result += " #" + validTags;
        }
        return result;
    }

    function javBus(){
        let button = document.createElement('a');
        button.innerText='点击复制tag文件名';
        button.href="#";
        let video_info = document.querySelector('body > div.container > div.row.movie > div.col-md-3.info');
        video_info.append(button);

        button.onclick = function () {
            let result = javBusGetter();
            GM_setClipboard(result);
        };
    }

    function avSoxGetter(){
        let result = '';
        // 获取标题
        let title = document.querySelector('body > div.container > h3').innerText;
        console.log("title="+title);
        result+=title;

        // 获取star
        let starAs = document.querySelectorAll('#avatar-waterfall > a');
        let stars = Array.from(starAs)
            .map(a => a.children[1].innerText)
            .join("#");
        if (stars !== "") {
            result += " #" + stars;
        }

        // 获取tag
        let tagAs = document.querySelectorAll('span.genre a[href*="/genre/"]');
        let validTags = Array.from(tagAs)
            .map(a => a.text)
            .filter(tag => !blackTags.includes(tag))
            .join("#");
        if (validTags !== "") {
            result += " #" + validTags;
        }
        result+=("#无码");
        return result;
    }

    function avSox(){
        let button = document.createElement('a');
        button.innerText='点击复制tag文件名';
        button.href="#";
        let video_info = document.querySelector("div.col-md-3.info");
        video_info.append(button);

        button.onclick = function () {
            let result = avSoxGetter();
            GM_setClipboard(result);
        };
    }

    function javDbGetter(){
        let result = '';
        // 获取标题
        let title = document.querySelector('.title.is-4').innerText;
        console.log("title="+title);
        result+=title;

        // 获取star
        let starAs = document.querySelectorAll('nav.panel.movie-panel-info a[href*="/actors/"]');
        let stars = Array.from(starAs)
            .map(a => a.text)
            .join("#");
        if (stars !== "") {
            result += " #" + stars;
        }


        // 获取发行商
        let labelAs = document.querySelectorAll('.movie-panel-info a[href*="/publishers/"]');
        let label = labelAs.length > 0 ? labelAs[0].innerText : "";
        // 获取发行日期
        let releaseDateE = document.querySelectorAll('.movie-panel-info > div:nth-child(2)');
        let releaseDate = releaseDateE.length > 0 ? releaseDateE[0].innerText.replace("日期:", "").trim() : "";
        if (label !== "" || releaseDate !== "") {
            result += " ";
            if (label !== "") {
                result += ("#" + label);
            }
            if (releaseDate !== "") {
                result += ("#" + releaseDate);
            }
        }


        // 获取tag
        let tagAs = document.querySelectorAll('nav.panel.movie-panel-info a[href*="/tags"]');
        let validTags = Array.from(tagAs)
            .map(a => a.text)
            .filter(tag => !blackTags.includes(tag))
            .join("#");
        if (validTags !== "") {
            result += " #" + validTags;
        }
        return result;
    }

    function javDb(){
        let button = document.createElement('a');
        button.innerText='点击复制tag文件名';
        button.href="#";
        let video_info = document.querySelector(".panel.movie-panel-info");
        video_info.append(button);
        button.onclick = function () {
            let result = javDbGetter();
            GM_setClipboard(result);
        };
        video_info.append(document.createElement('br'));
        let button2 = document.createElement('a');
        button2.innerText='点击复制tag文件名(#无码)';
        button2.href="#";
        video_info.append(button2);
        button2.onclick = function () {
            let result = javDbGetter();
            GM_setClipboard(result+'#无码');
        };
    }

    function main(){
        let title = document.title;
        if ((/JAVLib/g).test(title)) {
            javLib();
        } else if ((/JavBus/g).test(title)) {
            javBus();
        } else if ((/AVSOX/g).test(title)) {
            avSox();
        } else if ((/JavDB/g).test(title)) {
            javDb();
        }
    }

    main();

})();