유저스크립트로 토렌트 사이트의 형태를 변경하는게 최적이라 생각하고 검색해서 해봤음.
토렌트 사이트를 들가서 토렌트 파일명을 리스트로 만들고 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`);
}
});