您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
copy getchu item information
// ==UserScript== // @name getchu information copy // @namespace http://tampermonkey.net/ // @version 1.2 // @description copy getchu item information // @author charles // @match *://www.getchu.com/soft.phtml?id=* // @icon https://www.google.com/s2/favicons?domain=getchu.com // @grant GM_addStyle // @grant GM_setClipboard // ==/UserScript== GM_addStyle( ` #copy_info_button , #copy_info_setting{ margin-left : 20px; } #copy_info_input_setting{ position:absolute; width : 500px; height:500px; margin-left:auto; margin-right:auto; margin-top:auto; margin-bottom:auto; top:0; bottom:0; right:0; left:0; z-index:10; background-color: blue; } #copy_info_setting_textarea{ width = 100%; } ` ); const keywords = { title_keyword: "%title", brand_keyword: "%brand", price_keyword: "%price", release_date_keyword: "%release_date", media_keyword: "%media", genre_keyword: "%genre", JAN_Code_keyword: "%JAN_Code", original_keyword: "%original", scenario_keyword: "%scenario", category_keyword: "%category", product_number_keyword: "%product_number", special_keyword: "%special", sub_genre_keyword: "%sub_genre_keyword", }; const keywod_desc = [ { keyword: keywords.title_keyword, desc: "titlename" }, { keyword: keywords.brand_keyword, desc: "ブランド" }, { keyword: keywords.price_keyword, desc: "定価" }, { keyword: keywords.release_date_keyword, desc: "発売日" }, { keyword: keywords.media_keyword, desc: "メディア" }, { keyword: keywords.genre_keyword, desc: "ジャンル" }, { keyword: keywords.JAN_Code_keyword, desc: "JANコード" }, { keyword: keywords.original_keyword, desc: "原画" }, { keyword: keywords.scenario_keyword, desc: "シナリオ" }, { keyword: keywords.category_keyword, desc: "カテゴリ" }, { keyword: keywords.product_number_keyword, desc: "品番" }, { keyword: keywords.special_keyword, desc: "商品同梱特典" }, { keyword: keywords.sub_genre_keyword, desc: "サブジャンル" }, ]; var search_cookie = function (cookie_name) { var cookies = document.cookie; console.log(cookies); var split_cookies = cookies.split(";"); for (var i = 0; i < split_cookies.length; i++) { let split = split_cookies[i].split("="); if (split[0].trim() === cookie_name.trim()) { var result = ""; for (var j = 1; j < split.length; j++) { result += split[j]; } return result; } } return ""; }; var parse_list = () => { var table = document .querySelector("#soft_table") .getElementsByTagName("tbody")[0] .getElementsByTagName("tr")[1] .getElementsByTagName("th")[0] .getElementsByTagName("table")[0] .getElementsByTagName("tbody")[0] .getElementsByTagName("tr"); var result = []; for (var i = 0; i < table.length; i++) { var td = table[i].getElementsByTagName("td"); if (td.length < 2) { break; } var a_tag = td[1].getElementsByTagName("a"); let value = td[1].innerText; if (a_tag.length >= 1) { value = a_tag[0].innerText; } var keyword = "%unknown"; var td0_string = td[0].innerText.trim(); td0_string = td0_string.split(":")[0].trim(); for (var x = 0; x < keywod_desc.length; x++) { if (td0_string === keywod_desc[x].desc) { keyword = keywod_desc[x].keyword; break; } } // 轉換為 yyMMdd 的格式 if(keyword === keywords.release_date_keyword) { let date = new Date(value); let year = date.getFullYear().toString().substring(2); let month = date.getMonth().toString().padStart(2, "0"); let day = date.getDay().toString().padStart(2, "0"); value = year + month + day; } result.push({ keyword, value }); } return result; }; var copy_information = () => { let information_pattern = search_cookie("copy_info_setting"); var title_name = document .querySelector("#soft-title") .firstChild.nodeValue.trim(); var list = parse_list(); list.push({ keyword: keywords.title_keyword, value: title_name }); for (var i = 0; i < list.length; i++) { information_pattern = information_pattern.replaceAll( list[i].keyword, list[i].value ); } information_pattern = information_pattern.replaceAll("\\n", "\n"); console.log(information_pattern); GM_setClipboard(information_pattern, "text"); alert("copied"); }; var get_copy_setting_default_string = () => { return ( "title:%title\\nbrand:%brand\\nprice:%price\\nrelease_date:%release_date\\n" + "media:%media\\ngenre:%genre\\nJAN_Code:%JAN_Code\\noriginal:%original\\nscenario:%scenario\\n" + "category:%category;" ); }; (function () { "use strict"; // Your code here... let title = document.querySelector("#soft-title"); console.log(title); var button_copy = document.createElement("button"); button_copy.setAttribute("id", "copy_info_button"); button_copy.innerText = "copy"; button_copy.addEventListener("click", (e) => { copy_information(); }); title.appendChild(button_copy); var button_setting = document.createElement("button"); button_setting.setAttribute("id", "copy_info_setting"); button_setting.innerText = "copy setting"; button_setting.addEventListener("click", (e) => { if (document.querySelector("#copy_info_input_setting") !== null) { return; } let copy_setting_div = document.createElement("div"); copy_setting_div.setAttribute("id", "copy_info_input_setting"); let ul = document.createElement("ul"); for (var i = 0; i < keywod_desc.length; i++) { let li = document.createElement("li"); li.innerText = keywod_desc[i].keyword + "=" + keywod_desc[i].desc; ul.appendChild(li); } let text_area = document.createElement("textarea"); text_area.setAttribute("id", "copy_info_setting_textarea"); text_area.setAttribute("cols", "50"); text_area.setAttribute("rows", "5"); let cookie_result = search_cookie("copy_info_setting"); text_area.innerHTML = cookie_result.replaceAll("\\n", "\n"); copy_setting_div.appendChild(ul); copy_setting_div.appendChild(text_area); let button_bar = document.createElement("div"); button_bar.style.width = "100%"; let button_set = document.createElement("button"); button_set.innerText = "Set"; button_set.addEventListener("click", (e) => { document.cookie = "copy_info_setting=" + text_area.value.replaceAll("\n", "\\n"); document.body.removeChild(copy_setting_div); console.log(text_area.value.replaceAll("\n", "\\n")); // copy_information(); }); let button_cancel = document.createElement("button"); button_cancel.innerText = "Cancel"; button_cancel.addEventListener("click", (e) => { document.body.removeChild(copy_setting_div); }); let button_default = document.createElement("button"); button_default.innerText = "default value"; button_default.addEventListener("click", (e) => { text_area.value = ""; text_area.innerHTML = get_copy_setting_default_string().replaceAll( "\\n", "\n" ); }); button_bar.appendChild(button_set); button_bar.appendChild(button_cancel); button_bar.appendChild(button_default); copy_setting_div.appendChild(button_bar); document.body.appendChild(copy_setting_div); }); title.appendChild(button_setting); let cookie_result = search_cookie("copy_info_setting"); if (cookie_result === "") { document.cookie = "copy_info_setting=" + get_copy_setting_default_string(); } console.log(document.cookie); })();