您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
51Talk教师评分:评价量、好评比。 此脚本会在老师的名字后添加2个参数:1、教师标签评价量。2、教师的好评比率(0-100%)。 正在开发中功能:增加过滤功能,高亮显示Top 5的老师。
当前为
// ==UserScript== // @name 51Talk.教师评分|课程数|好评率|Top 5 // @version 0.0.11 // @namespace 51talk_sort // @description 51Talk教师评分:评价量、好评比。 此脚本会在老师的名字后添加2个参数:1、教师标签评价量。2、教师的好评比率(0-100%)。 正在开发中功能:增加过滤功能,高亮显示Top 5的老师。 // @author happycoder and [email protected] // @license GPLv3 // @match https://www.51talk.com/ReserveNew/index* // @match http://www.51talk.com/ReserveNew/index* // @match http://www.51talk.com/* // @match https://www.51talk.com/* // @icon https://avatars3.githubusercontent.com/u/25388328 // @grant GM_xmlhttpRequest // @require https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.4.1.min.js // ==/UserScript== (function() { 'use strict'; //删除数组中的空元素 Array.prototype.clean = function(deleteValue="") { for (var i = 0; i < this.length; i++) { if (this[i] == deleteValue) { this.splice(i, 1); i--; } } return this; }; function teacher_sort(a, b){ return b - a; } /** * 提交运算函数到 document 的 fx 队列 */ var submit = function (fun) { var queue = $.queue(document, "fx", fun); if (queue[0] == 'inprogress') { return; } $.dequeue(document); }; let num = /[0-9]*/g; let i_len = $(".label").length; let value = []; var callbacks=[]; for(let i = 0; i < i_len; i++) { let j_len = $(".label")[i].textContent.match(num).clean("").length; value[i] = 0; for(let j = 0; j < j_len; j++) { value[i] += Number($(".label")[i].textContent.match(num).clean("")[j]); } value[i] /= 5; $(".teacher-name")[i].innerText += "[" + value[i].toFixed(0) + "]"; callbacks.push({'index':i,'tid':$(".teacher-details-link a")[i].href.replace("https://www.51talk.com/TeacherNew/info/","").replace('http://www.51talk.com/TeacherNew/info/','')}); } $.each(callbacks, function(index, item){ submit(function(next){ // ajax 请求一定要包含在一个函数中 $.ajax({ url:'https://www.51talk.com/TeacherNew/teacherComment?tid='+item.tid+'&type=bad&has_msg=1', type:'GET', dateType:'html', //headers:{'Referer': 'https://www.51talk.com/TeacherNew/info/'+item.tid}, success:function (r) { if($(".evaluate-content-left span",r) && $(".evaluate-content-left span",r).length>=3){ var thumbup =Number($(".evaluate-content-left span",r)[1].innerText.match(num).clean("")[0]); var thumbdown =Number($(".evaluate-content-left span",r)[2].innerText.match(num).clean("")[0]); $(".teacher-name")[index].innerText += "[" + ((thumbup+0.00001)/(thumbdown+thumbup)).toFixed(2)*100 + "%]"; } else{ console.log(item); } }, error:function(data){console.log("error--"+data);} }).always(next); }); }); })();