// ==UserScript== // @name [自改]妖火网增强插件 // @namespace https://yaohuo.me/ // @version 0.46.9 // @description 修改:1.评论默认全表情展示、2.评论全UBB、3.Via可用、3. 获得焦点时回复框自动停靠、加载更多楼层、回复任意楼层、异步评论、双击定位评论区、发帖增强、图床直达、超链图片回复、表情展开 // @author 原作:外卖不用券(id:23825) // @match *yaohuo.me/* // @icon https://yaohuo.me/css/favicon.ico // @license MIT // @downloadURL none // ==/UserScript== // 是否自动吃肉,默认不吃 改为true 吃 var isAutoEat = false; // 是否自动吃肉,默认不吃 改为 true 则吃 const viewPage = ["/bbs/book_re.aspx", "/bbs/book_view.aspx"]; const postPage = ["/bbs/book_view_add.aspx", "/bbs/book_view_sendmoney.aspx", "/bbs/book_view_addvote.aspx", "/bbs/book_view_addfile.aspx", "/bbs/book_view_mod.aspx"]; const faceList = ['踩.gif', '狂踩.gif', '淡定.gif', '囧.gif', '不要.gif', '重拳出击.gif', '砳砳.gif', '滑稽砳砳.gif', '沙发.gif', '汗.gif', '亲亲.gif', '太开心.gif', '酷.gif', '思考.gif', '发呆.gif', '得瑟.gif', '哈哈.gif', '泪流满面.gif', '放电.gif', '困.gif', '超人.gif', '害羞.gif', '呃.gif', '哇哦.gif', '要死了.gif', '谢谢.gif', '抓狂.gif', '无奈.gif', '不好笑.gif', '呦呵.gif', '感动.gif', '喜欢.gif', '疑问.gif', '委屈.gif', '你不行.gif', '流口水.gif', '潜水.gif', '咒骂.gif', '耶耶.gif', '被揍.gif', '抱走.gif']; const spanstyle = 'color: #fff; padding: 2px 4px; font-size: 14px; background-color: #ccc;'; var isload = false var loadCount = 0 while(!false){ cosole.log(loadCount++ + "次加载") if (/^\/bbs-.*\.html$/.test(window.location.pathname) || viewPage.includes(window.location.pathname)) { const form = document.getElementsByName('f')[0]; const face = form.getElementsByTagName('select')[0]; const sendmsg = form.getElementsByTagName('select')[1]; const content = form.getElementsByTagName('textarea')[0]; const replyBtn = document.getElementsByName('g')[0]; content.insertAdjacentHTML('beforebegin', '
');; const facearea = document.getElementById('facearea'); let allfacehtml = ''; faceList.slice(0, faceList.length).forEach((faceStr, i) => { allfacehtml += ''; }) facearea.innerHTML += allfacehtml; for (let i = 0; i < faceList.length; i++) { document.getElementById('setFace' + i).onclick = function setFace() { face.value = faceList[i]; }; } // 妖火图床、超链接、图片 form.removeChild(form.lastChild); form.insertAdjacentHTML( "beforeend", `
链接 图片 音频 视频
半角 换行 加粗 斜体 颜色字 下划线 删除线 分割线
短信 拨号 时间 倒计天
图床 皮皮 b站 抖音 快手 外链 短链接
` ); // 超链接 const textarea = document.querySelector( "body > div.sticky > form > textarea" ); document.getElementById("ubb_url").addEventListener("click", (e) => { e.preventDefault(); insertText(textarea, "[url=网址]文字说明[/url]", 0); }); document.getElementById("ubb_movie").addEventListener("click", (e) => { e.preventDefault(); insertText(textarea, "[movie=100%*100%]视频直链地址|封面图片地址[/movie]", 0); }); document.getElementById("ubb_text").addEventListener("click", (e) => { e.preventDefault(); insertText(textarea, "全角转半角:[text]代码内容[/text]", 0); }); document.getElementById("ubb_br").addEventListener("click", (e) => { e.preventDefault(); insertText(textarea, "///", 0); }); document.getElementById("ubb_hr").addEventListener("click", (e) => { e.preventDefault(); insertText(textarea, "[hr]", 0); }); document.getElementById("ubb_b").addEventListener("click", (e) => { e.preventDefault(); insertText(textarea, "[b]加粗文字[/b]", 0); }); document.getElementById("ubb_i").addEventListener("click", (e) => { e.preventDefault(); insertText(textarea, "[i]斜体文字[/i]", 0); }); document.getElementById("ubb_u").addEventListener("click", (e) => { e.preventDefault(); insertText(textarea, "[u]下划线文字[/y]", 0); }); document.getElementById("ubb_color").addEventListener("click", (e) => { e.preventDefault(); insertText(textarea, "[forecolor=red]颜色文字,默认红[/forecolor]", 0); }); document.getElementById("ubb_img").addEventListener("click", (e) => { e.preventDefault(); insertText(textarea, "[img]图片链接[/img]", 0); }); document.getElementById("ubb_strike").addEventListener("click", (e) => { e.preventDefault(); insertText(textarea, "[strike]删除线文字[/strike]", 0); }); document.getElementById("ubb_call").addEventListener("click", (e) => { e.preventDefault(); insertText(textarea, "[call]拨号手机号码[/call]", 0); }); document.getElementById("ubb_sms").addEventListener("click", (e) => { e.preventDefault(); insertText(textarea, "[url=sms:手机号码?body=短信内容]点此发送[/url]", 0); }); document.getElementById("ubb_now").addEventListener("click", (e) => { e.preventDefault(); insertText(textarea, "当前系统日期和时间:[now]", 0); }); document.getElementById("ubb_codo").addEventListener("click", (e) => { e.preventDefault(); insertText(textarea, "倒计天:[codo]2030-01-01[/codo]", 0); }); document.getElementById("ubb_audio").addEventListener("click", (e) => { e.preventDefault(); insertText(textarea, "[audio=X]音频直链地址[/audio]", 0); }); // 吃肉 必须放在后面 const fileTag = document.querySelector("body > div.sticky > form > a"); var eatMeat = document.createElement('input'); eatMeat.type = 'submit'; eatMeat.value="一键吃肉" eatMeat.addEventListener("click", (e) => { e.preventDefault(); var eatWordsArr = ["吃..","吃了..","吃肉..","口乞..","chile..","7肉..","7了.."]; var index = Math.round((Math.random()*10)% (eatWordsArr.length - 1)); console.log("吃肉回复:",eatWordsArr[index]) insertText(textarea, eatWordsArr[index], 0); replyBtn.click() }); const meatTag = document.querySelector("body > div.content > div.paibi > span.shengyu > span.yushuzi"); if (!isAutoEat){ console.log("未开启自动吃肉,可在编辑脚本进行开启") }else{ if(meatTag == undefined){ console.log("非肉勿7") } else if (parseInt(meatTag.innerHTML) <= 0){ console.log("无肉怎7") }else { console.log("有肉快7") eatMeat.click() } } form.insertBefore(eatMeat,fileTag ) // 吃肉 END isload = true; } else if (postPage.includes(window.location.pathname)) { // 发帖UBB增强 let bookContent = document.getElementsByName("book_content")[0]; bookContent.insertAdjacentHTML( "beforebegin", `
超链接 图片 视频 更多...
` ); document.getElementById("ubb_a").addEventListener("click", () => insertText(bookContent, "[url][/url]", 6)); document.getElementById("ubb_f").addEventListener("click", () => insertText(bookContent, "[forecolor=#FF0000][/forecolor]", 12)); document.getElementById("ubb_b").addEventListener("click", () => insertText(bookContent, "[b][/b]", 4)); document.getElementById("ubb_s").addEventListener("click", () => insertText(bookContent, "[strike][/strike]", 9)); document.getElementById("ubb_img").addEventListener("click", () => insertText(bookContent, "[img][/img]", 6)); document.getElementById("ubb_movie").addEventListener("click", () => insertText(bookContent, "[movie=100%*100%][/movie]", 8)); document.getElementById("ubb_audio").addEventListener("click", () => insertText(bookContent, "[audio=X][/audio]", 8)); document.getElementById("ubb_more").addEventListener("click", () => { let ubb_tool = document.getElementsByClassName("more_ubb_tools")[0]; ubb_tool.style.display = ubb_tool.style.display === "none" ? "block" : "none"; }); } } function insertText(obj, str, offset) { if (document.selection) { var sel = document.selection.createRange(); sel.text = str; } else if ( typeof obj.selectionStart === "number" && typeof obj.selectionEnd === "number" ) { var startPos = obj.selectionStart, endPos = obj.selectionEnd, cursorPos = startPos, tmpStr = obj.value; obj.value = tmpStr.substring(0, startPos) + str + tmpStr.substring(endPos, tmpStr.length); cursorPos += str.length; obj.selectionStart = obj.selectionEnd = cursorPos - offset; } else { obj.value += str; } obj.focus(); isload = true; }