您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Add your favorite keyword/tag on the searchbox
当前为
// ==UserScript== // @name Add button on exhentai searchbox // @description Add your favorite keyword/tag on the searchbox // @license MIT // @version 0.6 // @match https://exhentai.org/* // @run-at document-start // @namespace https://greasyfork.org/users/383371 // ==/UserScript== function add_btn(tag, name){ let ep1 = document.createElement('input'); ep1.type = 'button'; ep1.value = name; ep1.tag = tag; ep1.onclick = function(e){ let search_box = document.getElementById('searchbox').firstChild.childNodes[2].childNodes[0]; let search_submit = document.getElementById('searchbox').firstChild.childNodes[2].childNodes[1]; if(search_box.value.indexOf(e.target.tag) == -1){ search_box.value = (search_box.value+ ' ' + e.target.tag).trim(); search_submit.click(); }else{ search_box.value = search_box.value.replace(e.target.tag, '').trim(); } } ep1.oncontextmenu = function(e){ e.preventDefault(); let name = e.target.value let result = confirm('Delete [' + name + ']?'); if(result){ let config = JSON.parse(window.localStorage.getItem('config')); let new_config = []; for(e of config){ if(e[1] != name){ new_config.push(e); } } window.localStorage.setItem('config', JSON.stringify(new_config)); window.location.href = window.location.href; } } ep1.id = 'tag_' + name; ep1.draggable = true; ep1.ondragstart = drag; ep1.ondrop = drop; ep1.ondragover = allow_drop; document.getElementById('searchbox').firstChild.childNodes[2].append(ep1); } function add_tag(tag, name){ let config = JSON.parse(window.localStorage.getItem('config')); if(!config){ config = []; } config.push([tag, name]); window.localStorage.setItem('config', JSON.stringify(config)); } function add_add_tag_btn(){ let ep1 = document.createElement('input'); ep1.type = 'button'; ep1.value = '+'; ep1.onclick = function(){ var tag_name = prompt('tag#name or tag. [language:chinese$#Chinese] or [language:chinese$]', ''); if(!tag_name){ return; } if(tag_name.includes('#')){ let tmp = tag_name.split('#'); let tag = tmp[0]; let name = tmp[1]; add_tag(tag, name); window.location.href = window.location.href; return; }else{ var tag = tag_name; } var name = prompt('name', ''); if(!name){ return; } add_tag(tag, name); window.location.href = window.location.href; } document.getElementById('searchbox').firstChild.childNodes[2].append(ep1); } window.addEventListener('DOMContentLoaded',function(event){ if(document.getElementById('searchbox')){ add_add_tag_btn(); let ep_br = document.createElement('p'); ep_br.value = '<br>'; document.getElementById('searchbox').firstChild.childNodes[2].append(ep_br); let config = JSON.parse(window.localStorage.getItem('config')); if(config){ for(let e of config){ add_btn(e[0], e[1]); } } document.getElementById('searchbox').firstChild.childNodes[2].firstChild.style.width = '519px'; } }); function drag(e){ e.dataTransfer.setData("target_id", e.target.id); } function drop(event){ event.preventDefault(); var drop_target = event.target; var drag_target_id = event.dataTransfer.getData('target_id'); var drag_target = document.getElementById(drag_target_id); var tmp = document.createElement('span'); tmp.className = 'hide'; drop_target.before(tmp); drag_target.before(drop_target); tmp.replaceWith(drag_target); save_tags(); } function allow_drop(e){ e.preventDefault(); } function save_tags(){ let tags_list = document.getElementById('searchbox').firstChild.childNodes[2].childNodes; let config = []; for(let i=5;i<tags_list.length;i++){ config.push([tags_list[i].tag, tags_list[i].value]); } window.localStorage.setItem('config', JSON.stringify(config)); }