您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
注意更新后设置会重置,请根据需要请手动调节setting参数
当前为
// ==UserScript== // @name 咕咕镇样式优化,等级换算 // @namespace http://tampermonkey.net/ // @version 3.0.8 // @description 注意更新后设置会重置,请根据需要请手动调节setting参数 // @author aotmd // @match https://www.guguzhen.com/* // @icon https://www.guguzhen.com/ys/icon/z4.gif // @grant none // ==/UserScript== var setting = { /*───开启为true,关闭为false────*/ 等级换算: true ,/*是否开启等级换算*/ 保留小数位: 0 ,/*转换后的等级显示的小数位*/ 实际属性点计算: true ,/*根据实际属性点计算等级,通过转换计算产生的属性点带有小数,实际属性点会不带小数直接舍去*/ 保留原等级: false ,/*保留转换前的等级*/ /*────────────────────────────*/ 响应式布局: true ,/*是否开启按照浏览器宽度改变布局*/ 相对宽度: 70 ,/*网页内容宽度占浏览器的百分比,单位:%*/ /*────────────────────────────*/ 样式更改: true ,/*是否更改css样式*/ 血条护盾高度: 14 ,/*单位:px*/ 字体上下间距: 16 ,/*单位:px*/ 天赋页排版: true ,/*更改天赋页的样式*/ }; /** * 等级转换 * @param o 原等级 * @param q 品质 * @return {string} */ function ConversionLevel(o, q) { const BIT = setting.保留小数位; const ACTUAL = setting.实际属性点计算; var point = (6 + o * 3) * (1 + q / 100); if (ACTUAL) { point = Math.floor(point); } return ((point - 6) / 3).toFixed(BIT); } setInterval(() => { const ORIGINAL = setting.保留原等级; var str = /fyg_equip\.php/i; if (str.test(window.location.href) && setting.等级换算) { var cardInformation = document.getElementsByClassName("text-info fyg_f24")[0] .getElementsByClassName("pull-right")[0]; if (cardInformation.getAttribute("style") == null) { var url = document.getElementsByClassName("text-info fyg_tr")[0]; var array = url.innerText.match(/\d+/g); var maxRank = ConversionLevel(array[1], array[0]); url.innerText += " 相当于" + maxRank + "级"; var nowRank = ConversionLevel(cardInformation.innerText.match(/\d+/g)[0], array[0]); if (ORIGINAL) { cardInformation.innerText += "(" + nowRank + " 级)"; } else { cardInformation.innerText = nowRank + " 级"; } cardInformation.style = "flag: 1;"; } var otherCard = document.getElementsByClassName("btn btn-primary btn-group dropup"); if (otherCard.length !== 0 && otherCard[0].getElementsByClassName("row")[0].getAttribute("style") == null) { for (var j = 0; j < otherCard.length; j++) { var temp = otherCard[j].innerText; var array2 = temp.match(/\d+/g); var nowRank2=ConversionLevel(array2[0],array2[3]); var maxRank2=ConversionLevel(array2[1],array2[3]); deleteRedundantEmptyTextNodes(otherCard[j].getElementsByClassName("fyg_tl")[1]); if (ORIGINAL){ otherCard[j].getElementsByClassName("col-xs-5 fyg_tl")[0].innerHTML+="<span class='fyg_f18'>("+nowRank2+"</span> 级)"; otherCard[j].getElementsByClassName("fyg_tl")[1].childNodes[0].data=array2[1]+" ( "+maxRank2+" ) 最大等级"; }else { otherCard[j].getElementsByClassName("col-xs-5 fyg_tl")[0].innerHTML="<span class='fyg_f18'>"+nowRank2+"</span> 级"; otherCard[j].getElementsByClassName("fyg_tl")[1].childNodes[0].data=+maxRank2+" 最大等级"; otherCard[j].getElementsByClassName("fyg_tl")[1].childNodes[4].data+=",已换算为等级"; } otherCard[j].getElementsByClassName("row")[0].style = "flag: 1;"; } } } }, 1000); /** * 删除多余的空文本节点,为nextSibling,等节点操作一致性做准备 * @param elem 要优化的父节点 */ function deleteRedundantEmptyTextNodes(elem) { let elemList = elem.childNodes; for (let i = 0; i < elemList.length; i++) { /*当为文本节点并且为不可见字符时删除节点*/ if (elemList[i].nodeName === "#text" && /^\s+$/.test(elemList[i].nodeValue)) { elem.removeChild(elemList[i]) } } } /** * 添加样式 * @param rules css样式 */ function addStyle(rules) { var styleElement = document.createElement('style'); styleElement.type = 'text/css'; document.getElementsByTagName('head')[0].appendChild(styleElement); styleElement.appendChild(document.createTextNode(rules)); } if (setting.响应式布局) { addStyle(` div[style='width:1200px;margin: 0 auto;'] { width: ` + setting.相对宽度 + `%!important; } `); } if (setting.样式更改) { addStyle(` /*调整脚本:咕咕镇数据采集)*/ /*调整装备详情的对齐方式*/ button.btn.btn-light { vertical-align: sub; } /*调整装备神秘属性文字的最大宽度*/ .bg-danger[style="max-width: 250px; white-space: pre-line; word-break: break-all;"]{ max-width: 200px!important; } /*改变战斗页面血条护盾的高度*/ .fyg_pvedt{ height: ` + setting.血条护盾高度 + `px!important; } /*改变战斗页面的间距*/ p.fyg_mp0.fyg_nw.fyg_lh30,p.fyg_mp0.fyg_nw.fyg_lh30.fyg_tr{ line-height: ` + setting.字体上下间距 + `px; } `); if(setting.天赋页排版){ $("#eqli3").click(()=>{ var flag=setInterval(()=>{ if ($('#tf101').length===0)return; var talent=$("#backpacks .row .col-md-3"); for (var i = 0; i <talent.length ; i++) { console.log(talent[i].class); talent[i].setAttribute('class','col-md-12'); } if (talent.length!==0){ clearInterval(flag); } },1); }); } } /*下为历史数据,不生效*/ /*addStyle(` #pkcall,#closeresult { border: none; color: white; text-align: center; text-decoration: none; display: inline-block; font-size: 10px; margin: 4px 10px; width: 100px; border-radius: 15px; -webkit-transition-duration: 0.4s; transition-duration: 0.4s; cursor: pointer; background-color: white; color: black; border: 2px solid #4CAF50; } #pkcall:hover,#closeresult:hover { background-color: #4CAF50; color: white; } div#result { line-height: 1; padding: 10px; padding-bottom: 50px; border: 2px solid transparent; border-color: #9d15f3; width: 100px; text-align: center; margin: 10px; border-radius: 10px; transition-duration: 1s; } div#result:hover { background-color: #2ae23894; border-color: #ffffff00; } `);*/ /*var b= document.getElementsByClassName("panel panel-primary")[0]; b.innerHTML = "<button id='pkcall'>导出怪兽数据</button>" + b.innerHTML; var jsjfunction=function () { var pk = document.getElementsByClassName("btn dropdown-toggle fyg_lh40"); var s = "<div id='result'>"; for (var i = 0; i < 10; ++i) { var temp = pk[i].innerText.trim(); var name = temp.slice(-1); var lv = temp.slice(temp.indexOf("Lv") + 2, temp.lastIndexOf(" ")); switch (name) { case "人": name = "MU"; break; case "蛛": name = "ZHU"; break; case "灵": name = "DENG"; break; case "兽": name = "SHOU"; break; default : alert("erreo"); } var parameter=name+" "+lv; for (var j = 0; j <= 3; j++) { s += "<div>" + parameter +" "+j+ "</div>"; } } s += "</div>"; b.innerHTML = s+"<button id='closeresult'>清除怪兽数据</button>" + b.innerHTML; $("#pkcall").remove(); $("#closeresult").click(function(){ b.innerHTML = "<button id='pkcall'>导出怪兽数据</button>" + b.innerHTML; $("#pkcall").click(jsjfunction); $("#result").remove(); $("#closeresult").remove(); }); }; $(document).ready(function() { $("#pkcall").click(jsjfunction); });*/