367ddd 发布于四月 6 分享 发布于四月 6 11 小时前,furobert说道: 好像成功了用浅薄的js编程能力写了个油猴脚本 把代码放出来好了(js大佬轻喷) // ==UserScript== // @name SS同盟积分计算 // @namespace https://sstm.moe/profile/ // @version 0.1 // @description 简单计算积分 // @author FuRobert // @match *://sstm.moe/profile/* // @icon https://www.google.com/s2/favicons?sz=64&domain=sstm.moe // @grant none // ==/UserScript== (function() { 'use strict'; window.onload=function(){ let nei_rong_shu = 0; let jie_cao_shu = 0; let fu_yuan_shu = 0; var nei_rong_shu_box = document.getElementsByClassName("ipsType_minorHeading"); for(let i=0; i<3;i++ ){ let temp_text = nei_rong_shu_box[i].parentElement.innerText; if(temp_text.includes('内容数')){ nei_rong_shu = parseInt(temp_text.replace('内容数\n',"")); console.log(nei_rong_shu); break; } } var jie_cao_shu_box = document.getElementsByClassName("ipsDataItem_main"); for(let i=0; i<5;i++ ){ let temp_text = jie_cao_shu_box[i].textContent; if(temp_text.includes('J')){ jie_cao_shu = parseInt(temp_text.replace('J',"")); console.log(jie_cao_shu); break; } } for(let i=0; i<5;i++ ){ let temp_text = jie_cao_shu_box[i].textContent; if(temp_text.includes('F')){ fu_yuan_shu = parseInt(temp_text.replace('F',"")); console.log(fu_yuan_shu); break; } } var box = document.getElementsByClassName("ipsDataList ipsDataList_reducedSpacing cProfileFields")[1]; var temp_box = box.children[0].cloneNode(true); temp_box.children[0].children[0].innerHTML='积分'; temp_box.children[1].innerHTML = String((nei_rong_shu*0.3 + jie_cao_shu*0.03 + fu_yuan_shu*10).toFixed(2)); box.append(temp_box); }; })(); 要使用的话,安装油猴插件,在里面选择添加新插件,把代码都复制进去然后启用应该就好了() 不过只是在我这边用着看起来挺正常,别人用不知道怎么样,手机端应该不行,要是哪天个人页面更新了点什么改了下布局可能就失效了 建议阁下给每个数据获取再加入一段 if(temp_text.includes(',')){ temp_text=temp_text.replace(',',""); } 试了一下,这样就解决了亡零桑说的计算错误问题了 注释 哥特的亡零 1.00节操 输入法让俺没写完!DDD前辈好厉害!(*^▽^*) 哥特的亡零 10.00节操 DDD 链接到点评
367ddd 发布于四月 6 分享 发布于四月 6 29 分钟前,furobert说道: 我的代码技术实际上只是刚入门)感谢打赏 不过也确实,我忽略了千位以上的问题 现在已经把 @367ddd 大佬的修改代码加进去了,修改后应该没问题了 大佬什么的不敢当,咱对于js和网页脚本什么的是完完全全的一窍不通,编程语言咱只会一点c和c++的,咱才是真正的新手。 话说阁下之后有打算为论坛建设来做贡献吗 链接到点评
推荐贴