유저스크립트로 토렌트 사이트의 형태를 변경하는게 최적이라 생각하고 검색해서 해봤음.

토렌트 사이트를 들가서 토렌트 파일명을 리스트로 만들고 innerHTML로 싹 교체한 다음 리스트의 파일명 하나하나의 사진을 보면서 저장 누르면 저장되고 다음 누르면 다음 걸로 넘어가고 마지막이먄 다음페이지로 넘어감. 기본은 다 됐는데 빠르게 누른다거나 처음엔 오류가 나는 등 문제가 있음.

버튼 높이를 빈 공간 없이 꽉 채우고 싶은데 모르겠어서 70px로 고정했음. 실사 사이트주소는 삭제된다길래 ?로 바꿈. ??????? == 다음일본성인영화

개선 해 줘


// ==UserScript==

// @name        ???????

// @namespace   ????????

// @match       https://???????.com/*

// @grant       none

// @version     1.0

// @author      -

// @description 2022. 12. 28. 오후 12:29:31

// ==/UserScript==


const appHeight = () => {

    const doc = document.documentElement

    doc.style.setProperty("--app-height", `${window.innerHeight}px`)

}

window.addEventListener("resize", appHeight)

appHeight()


var item_box = document.getElementsByClassName("portfolio_item status-publish format-standard has-post-thumbnail");

var title_list = [];


for(ii=0; ii<item_box.length; ii++) {

  var stlist = item_box[ii].innerHTML.split("/");

  for(iii=0; iii<stlist.length; iii++) {

    if(stlist[iii].includes("-") && !stlist[iii].includes('"')){

      title_list.push(stlist[iii]);

      break;

      }}}




var hstr = '<!DOCTYPE html><html>    <head>        <meta charset="utf-8">        <meta name="viewport" content="user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, width=device-width" />        <style>            *{    margin: 0;    padding: 0;    }::-webkit-scrollbar{    display: none;    }body{    width: 100vw;    height: 100vh;    height: var(--app-height);    }.img_box{    background-color: yellow;    max-width: 100vw;    height: 76.2vh;    overflow-x: auto;    overflow-y: hidden;    }img{    max-height: 100%;    float: left;    }.btn_box{    background-color: red;    color: white;    display: grid;    grid-template-columns: 2fr 2fr 1.2fr 1.2fr;    grid-template-rows: 70px;    }button{    border: 5px solid green;    }        </style>    </head>    <body>        <div class="img_box">            <img  class="img_c"/>        </div>        <div class="btn_box">            <button class="del">제외</button>            <button class="save">저장</button>            <button class="prev">이전</button>            <button class="next">다음</button>                    </div>    </body></html>';

document.getElementsByTagName("html")[0].innerHTML = hstr;


var page_location = location.href;

if(page_location.includes("page")){

  if(page_location.includes("search")){

    var temp_str = page_location.split("&page");

    var page = `${temp_str[0]}&page=`;

    var page_n = Number(temp_str[1].replace(/[^0-9]/g, ""));

    }

  else{

    var page = "https://???????.com/page/";

    var page_n = Number(page_location.replace(/[^0-9]/g, ""));

    }

  }

else{

  var page_n = 1;

  if(page_location.includes("search")){

    var page = `${page_location}&page=`;

    }

  else{

    var page = "https://???????.com/page/";

    }

  }



let imgc = document.querySelector(".img_c");

let i = 0

const l_m = title_list.length;


imgc.setAttribute("src", `https://???????.com/save/${title_list[i]}/cover-${title_list[i]}.jpg`);

document.querySelector(".img_c").addEventListener("click", function() {

    var lr = document.getElementsByClassName("img_c")[0];

    if(lr.style.cssFloat=="left"){

    lr.style.cssFloat = "right";

    }else{

    lr.style.cssFloat = "left";

    }

});



document.querySelector(".save").addEventListener("click", function(sv) {

  if (sv) {

    window.open(`https://???????.com/save/${title_list[i]}/???????-torrent-${title_list[i]}.torrent`);

    }

  });

document.querySelector(".next").addEventListener("click", function(idx) {

    if (idx) {

        i++;

        if (i == l_m) {

            if(history.forward()){}else{

              location.href = `${page}${page_n+1}`;

              }

            i--;

            return;

            }

        imgc.setAttribute("src", `https://???????.com/save/${title_list[i]}/cover-${title_list[i]}.jpg`);

        }

});

document.querySelector(".prev").addEventListener("click", function(idx) {

    if (idx) {

        i--;

        if (i == -1) {

            history.back();

            return;

            }

        imgc.setAttribute("src", `https://???????.com/save/${title_list[i]}/cover-${title_list[i]}.jpg`);

        }

});