// ==UserScript==
// @name boss直聘-跨域优化版
// @namespace http://tampermonkey.net/
// @version 2025.05.0402
// @description 动态注入iframe样式
// @author You
// @match https://www.zhipin.com/*
// @grant none
// @run-at document-end
// @license MIT
// ==/UserScript==
(function() {
'use strict';
// Constants
const TARGET_PATH = '/web/chat/geek/manage';
const PATH_REGEX = /\/web\/chat\/geek\/manage(\/|$)/;
const STYLES = `#container { max-width:none !important; }
.plain-text {white-space:normal !important;}
.university-info {
}
.university-info .rank {
color: #1890ff;
font-weight: bold;
display: block;
}
.university-info .rank.no-match {
color: #ff4d4f;
}
.university-info .tags {
color: #52c41a;
display: block;
}
.university-info .tags.no-match {
color: #ff4d4f;
}
.university-info .tags span {
}`;
// 大学排名数据
const UNIVERSITY_RANKINGS = {
"清华大学": {
"rank": "1",
"tags": [
"双一流",
"985",
"211"
]
},
"北京大学": {
"rank": "2",
"tags": [
"双一流",
"985",
"211"
]
},
"浙江大学": {
"rank": "3",
"tags": [
"双一流",
"985",
"211"
]
},
"上海交通大学": {
"rank": "4",
"tags": [
"双一流",
"985",
"211"
]
},
"复旦大学": {
"rank": "5",
"tags": [
"双一流",
"985",
"211"
]
},
"南京大学": {
"rank": "6",
"tags": [
"双一流",
"985",
"211"
]
},
"中国科学技术大学": {
"rank": "7",
"tags": [
"双一流",
"985",
"211"
]
},
"武汉大学": {
"rank": "8",
"tags": [
"双一流",
"985",
"211"
]
},
"华中科技大学": {
"rank": "9",
"tags": [
"双一流",
"985",
"211"
]
},
"西安交通大学": {
"rank": "10",
"tags": [
"双一流",
"985",
"211"
]
},
"北京航空航天大学": {
"rank": "11",
"tags": [
"双一流",
"985",
"211"
]
},
"中山大学": {
"rank": "12",
"tags": [
"双一流",
"985",
"211"
]
},
"北京理工大学": {
"rank": "13",
"tags": [
"双一流",
"985",
"211"
]
},
"北京协和医学院": {
"rank": "医1",
"tags": [
"双一流"
]
},
"哈尔滨工业大学": {
"rank": "14",
"tags": [
"双一流",
"985",
"211"
]
},
"四川大学": {
"rank": "15",
"tags": [
"双一流",
"985",
"211"
]
},
"东南大学": {
"rank": "16",
"tags": [
"双一流",
"985",
"211"
]
},
"中国人民大学": {
"rank": "17",
"tags": [
"双一流",
"985",
"211"
]
},
"同济大学": {
"rank": "18",
"tags": [
"双一流",
"985",
"211"
]
},
"北京师范大学": {
"rank": "19",
"tags": [
"双一流",
"985",
"211"
]
},
"天津大学": {
"rank": "20",
"tags": [
"双一流",
"985",
"211"
]
},
"西北工业大学": {
"rank": "21",
"tags": [
"双一流",
"985",
"211"
]
},
"山东大学": {
"rank": "22",
"tags": [
"双一流",
"985",
"211"
]
},
"南开大学": {
"rank": "23",
"tags": [
"双一流",
"985",
"211"
]
},
"厦门大学": {
"rank": "24",
"tags": [
"双一流",
"985",
"211"
]
},
"中国农业大学": {
"rank": "25",
"tags": [
"双一流",
"985",
"211"
]
},
"吉林大学": {
"rank": "26",
"tags": [
"双一流",
"985",
"211"
]
},
"中南大学": {
"rank": "27",
"tags": [
"双一流",
"985",
"211"
]
},
"大连理工大学": {
"rank": "28",
"tags": [
"双一流",
"985",
"211"
]
},
"湖南大学": {
"rank": "29",
"tags": [
"双一流",
"985",
"211"
]
},
"华东师范大学": {
"rank": "30",
"tags": [
"双一流",
"985",
"211"
]
},
"华南理工大学": {
"rank": "31",
"tags": [
"双一流",
"985",
"211"
]
},
"南方科技大学": {
"rank": "32",
"tags": [
"双一流"
]
},
"电子科技大学": {
"rank": "33",
"tags": [
"双一流",
"985",
"211"
]
},
"重庆大学": {
"rank": "34",
"tags": [
"双一流",
"985",
"211"
]
},
"北京科技大学": {
"rank": "35",
"tags": [
"双一流",
"211"
]
},
"上海财经大学": {
"rank": "财1",
"tags": [
"双一流",
"211"
]
},
"首都医科大学": {
"rank": "医2"
},
"南京航空航天大学": {
"rank": "36",
"tags": [
"双一流",
"211"
]
},
"东北大学": {
"rank": "37",
"tags": [
"双一流",
"985",
"211"
]
},
"南京理工大学": {
"rank": "38",
"tags": [
"双一流",
"211"
]
},
"兰州大学": {
"rank": "39",
"tags": [
"双一流",
"985",
"211"
]
},
"南方医科大学": {
"rank": "医3"
},
"西安电子科技大学": {
"rank": "40",
"tags": [
"双一流",
"211"
]
},
"上海科技大学": {
"rank": "41",
"tags": [
"双一流"
]
},
"北京交通大学": {
"rank": "42",
"tags": [
"双一流",
"211"
]
},
"哈尔滨工程大学": {
"rank": "43",
"tags": [
"双一流",
"211"
]
},
"华东理工大学": {
"rank": "44",
"tags": [
"双一流",
"211"
]
},
"东北师范大学": {
"rank": "45",
"tags": [
"双一流",
"211"
]
},
"香港中文大学(深圳)": {
"rank": "合作1"
},
"中央财经大学": {
"rank": "财2",
"tags": [
"双一流",
"211"
]
},
"苏州大学": {
"rank": "46",
"tags": [
"双一流",
"211"
]
},
"华中农业大学": {
"rank": "47",
"tags": [
"双一流",
"211"
]
},
"武汉理工大学": {
"rank": "48",
"tags": [
"双一流",
"211"
]
},
"中国石油大学(北京)": {
"rank": "48",
"tags": [
"双一流",
"211"
]
},
"郑州大学": {
"rank": "50",
"tags": [
"双一流",
"211"
]
},
"江南大学": {
"rank": "51",
"tags": [
"双一流",
"211"
]
},
"西南交通大学": {
"rank": "52",
"tags": [
"双一流",
"211"
]
},
"南京医科大学": {
"rank": "医4",
"tags": [
"双一流"
]
},
"南京农业大学": {
"rank": "53",
"tags": [
"双一流",
"211"
]
},
"中国地质大学(武汉)": {
"rank": "54",
"tags": [
"双一流",
"211"
]
},
"对外经济贸易大学": {
"rank": "财3",
"tags": [
"双一流",
"211"
]
},
"暨南大学": {
"rank": "55",
"tags": [
"双一流",
"211"
]
},
"华中师范大学": {
"rank": "56",
"tags": [
"双一流",
"211"
]
},
"中国海洋大学": {
"rank": "56",
"tags": [
"双一流",
"985",
"211"
]
},
"中国政法大学": {
"rank": "政1",
"tags": [
"双一流",
"211"
]
},
"南京师范大学": {
"rank": "58",
"tags": [
"双一流",
"211"
]
},
"中国矿业大学": {
"rank": "59",
"tags": [
"双一流",
"211"
]
},
"天津医科大学": {
"rank": "医5",
"tags": [
"双一流",
"211"
]
},
"中国医科大学": {
"rank": "医6"
},
"北京邮电大学": {
"rank": "60",
"tags": [
"双一流",
"211"
]
},
"上海大学": {
"rank": "61",
"tags": [
"双一流",
"211"
]
},
"北京中医药大学": {
"rank": "中医1",
"tags": [
"双一流",
"211"
]
},
"浙江工业大学": {
"rank": "62"
},
"中南财经政法大学": {
"rank": "财4",
"tags": [
"双一流",
"211"
]
},
"北京化工大学": {
"rank": "63",
"tags": [
"双一流",
"211"
]
},
"河海大学": {
"rank": "64",
"tags": [
"双一流",
"211"
]
},
"陕西师范大学": {
"rank": "65",
"tags": [
"双一流",
"211"
]
},
"西南财经大学": {
"rank": "财5",
"tags": [
"双一流",
"211"
]
},
"西南大学": {
"rank": "66",
"tags": [
"双一流",
"211"
]
},
"中国石油大学(华东)": {
"rank": "67",
"tags": [
"双一流",
"211"
]
},
"深圳大学": {
"rank": "68"
},
"上海中医药大学": {
"rank": "中医2",
"tags": [
"双一流"
]
},
"云南大学": {
"rank": "69",
"tags": [
"双一流",
"211"
]
},
"西北大学": {
"rank": "70",
"tags": [
"双一流",
"211"
]
},
"西北农林科技大学": {
"rank": "71",
"tags": [
"双一流",
"985",
"211"
]
},
"北京工业大学": {
"rank": "72",
"tags": [
"双一流",
"211"
]
},
"南昌大学": {
"rank": "73",
"tags": [
"双一流",
"211"
]
},
"上海纽约大学": {
"rank": "合作2"
},
"东华大学": {
"rank": "74",
"tags": [
"双一流",
"211"
]
},
"中国地质大学(北京)": {
"rank": "75",
"tags": [
"双一流",
"211"
]
},
"中国矿业大学(北京)": {
"rank": "76",
"tags": [
"双一流",
"211"
]
},
"广州医科大学": {
"rank": "医8",
"tags": [
"双一流"
]
},
"哈尔滨医科大学": {
"rank": "医7"
},
"宁波诺丁汉大学": {
"rank": "合作3"
},
"福州大学": {
"rank": "77",
"tags": [
"双一流",
"211"
]
},
"宁波大学": {
"rank": "78",
"tags": [
"双一流"
]
},
"合肥工业大学": {
"rank": "79",
"tags": [
"双一流",
"211"
]
},
"华南师范大学": {
"rank": "80",
"tags": [
"双一流",
"211"
]
},
"温州医科大学": {
"rank": "医9"
},
"中央民族大学": {
"rank": "民1",
"tags": [
"双一流",
"985",
"211"
]
},
"南京邮电大学": {
"rank": "81",
"tags": [
"双一流"
]
},
"东北财经大学": {
"rank": "财6"
},
"江苏大学": {
"rank": "82"
},
"北京外国语大学": {
"rank": "语1",
"tags": [
"双一流",
"211"
]
},
"上海外国语大学": {
"rank": "语2",
"tags": [
"双一流",
"211"
]
},
"华北电力大学": {
"rank": "83",
"tags": [
"双一流",
"211"
]
},
"中国传媒大学": {
"rank": "语3",
"tags": [
"双一流",
"211"
]
},
"长安大学": {
"rank": "84",
"tags": [
"双一流",
"211"
]
},
"北京林业大学": {
"rank": "85",
"tags": [
"双一流",
"211"
]
},
"贵州大学": {
"rank": "86",
"tags": [
"双一流",
"211"
]
},
"重庆医科大学": {
"rank": "医11"
},
"中国药科大学": {
"rank": "医10",
"tags": [
"双一流",
"211"
]
},
"福建师范大学": {
"rank": "87"
},
"湖南师范大学": {
"rank": "88",
"tags": [
"双一流",
"211"
]
},
"广西大学": {
"rank": "89",
"tags": [
"双一流",
"211"
]
},
"南京林业大学": {
"rank": "90",
"tags": [
"双一流"
]
},
"扬州大学": {
"rank": "91"
},
"浙江师范大学": {
"rank": "92"
},
"海南大学": {
"rank": "93",
"tags": [
"双一流",
"211"
]
},
"南京工业大学": {
"rank": "94"
},
"南京中医药大学": {
"rank": "中医3",
"tags": [
"双一流"
]
},
"南京信息工程大学": {
"rank": "95",
"tags": [
"双一流"
]
},
"广东工业大学": {
"rank": "96"
},
"杭州电子科技大学": {
"rank": "97"
},
"外交学院": {
"rank": "语4",
"tags": [
"双一流"
]
},
"安徽大学": {
"rank": "98",
"tags": [
"双一流",
"211"
]
},
"首都师范大学": {
"rank": "99",
"tags": [
"双一流"
]
},
"华南农业大学": {
"rank": "100",
"tags": [
"双一流"
]
},
"广州中医药大学": {
"rank": "中医4",
"tags": [
"双一流"
]
},
"山西大学": {
"rank": "101",
"tags": [
"双一流"
]
},
"江西财经大学": {
"rank": "财7"
},
"浙江工商大学": {
"rank": "财8"
},
"河南大学": {
"rank": "102",
"tags": [
"双一流"
]
},
"太原理工大学": {
"rank": "103",
"tags": [
"双一流",
"211"
]
},
"昆山杜克大学": {
"rank": "合作5"
},
"西交利物浦大学": {
"rank": "合作4"
},
"山东师范大学": {
"rank": "104"
},
"大连医科大学": {
"rank": "医12"
},
"河北医科大学": {
"rank": "医12"
},
"广州大学": {
"rank": "105"
},
"浙江理工大学": {
"rank": "106"
},
"深圳北理莫斯科大学": {
"rank": "合作6"
},
"湘潭大学": {
"rank": "107",
"tags": [
"双一流"
]
},
"上海理工大学": {
"rank": "108"
},
"河北工业大学": {
"rank": "109",
"tags": [
"双一流",
"211"
]
},
"大连海事大学": {
"rank": "110",
"tags": [
"双一流",
"211"
]
},
"青岛大学": {
"rank": "111"
},
"燕山大学": {
"rank": "112"
},
"东北林业大学": {
"rank": "113",
"tags": [
"双一流",
"211"
]
},
"杭州师范大学": {
"rank": "114"
},
"西安建筑科技大学": {
"rank": "115"
},
"湖北大学": {
"rank": "116"
},
"福建医科大学": {
"rank": "医14"
},
"昆明理工大学": {
"rank": "117"
},
"华东政法大学": {
"rank": "政2"
},
"首都经济贸易大学": {
"rank": "财9"
},
"西南政法大学": {
"rank": "政3"
},
"内蒙古大学": {
"rank": "118",
"tags": [
"双一流",
"211"
]
},
"西安理工大学": {
"rank": "119"
},
"北京语言大学": {
"rank": "语5"
},
"浙江中医药大学": {
"rank": "中医5"
},
"武汉科技大学": {
"rank": "120"
},
"天津中医药大学": {
"rank": "中医6",
"tags": [
"双一流"
]
},
"江西师范大学": {
"rank": "121"
},
"成都中医药大学": {
"rank": "中医7",
"tags": [
"双一流"
]
},
"东北农业大学": {
"rank": "122",
"tags": [
"双一流",
"211"
]
},
"西南石油大学": {
"rank": "122",
"tags": [
"双一流"
]
},
"上海师范大学": {
"rank": "124"
},
"北京师范大学-香港浸会大学联合国际学院": {
"rank": "合作7"
},
"福建农林大学": {
"rank": "125"
},
"温州大学": {
"rank": "126"
},
"长沙理工大学": {
"rank": "127"
},
"新疆大学": {
"rank": "127",
"tags": [
"双一流",
"211"
]
},
"广东外语外贸大学": {
"rank": "语6"
},
"南京财经大学": {
"rank": "财10"
},
"河北大学": {
"rank": "129"
},
"北京工商大学": {
"rank": "财11"
},
"山东科技大学": {
"rank": "130"
},
"辽宁大学": {
"rank": "131",
"tags": [
"双一流",
"211"
]
},
"成都理工大学": {
"rank": "132",
"tags": [
"双一流"
]
},
"上海体育大学": {
"rank": "体1",
"tags": [
"双一流"
]
},
"浙江财经大学": {
"rank": "财12"
},
"山东农业大学": {
"rank": "133"
},
"宁夏大学": {
"rank": "134",
"tags": [
"双一流",
"211"
]
},
"华侨大学": {
"rank": "135"
},
"陕西科技大学": {
"rank": "135"
},
"安徽医科大学": {
"rank": "医15"
},
"山西医科大学": {
"rank": "医16"
},
"天津工业大学": {
"rank": "137",
"tags": [
"双一流"
]
},
"长春理工大学": {
"rank": "138"
},
"安徽师范大学": {
"rank": "139"
},
"中国人民公安大学": {
"rank": "政4",
"tags": [
"双一流"
]
},
"石河子大学": {
"rank": "140",
"tags": [
"双一流",
"211"
]
},
"山东财经大学": {
"rank": "财13"
},
"四川农业大学": {
"rank": "141",
"tags": [
"双一流",
"211"
]
},
"天津师范大学": {
"rank": "142"
},
"南京审计大学": {
"rank": "财14"
},
"上海海洋大学": {
"rank": "143",
"tags": [
"双一流"
]
},
"江苏科技大学": {
"rank": "144"
},
"齐鲁工业大学": {
"rank": "145"
},
"上海对外经贸大学": {
"rank": "财15"
},
"中国计量大学": {
"rank": "146"
},
"黑龙江大学": {
"rank": "147"
},
"广西医科大学": {
"rank": "医17"
},
"安徽农业大学": {
"rank": "148"
},
"湖北工业大学": {
"rank": "148"
},
"中南民族大学": {
"rank": "民2"
},
"浙江农林大学": {
"rank": "150"
},
"南通大学": {
"rank": "151"
},
"温州肯恩大学": {
"rank": "合作8"
},
"河南农业大学": {
"rank": "152"
},
"重庆邮电大学": {
"rank": "153"
},
"常州大学": {
"rank": "154"
},
"广西师范大学": {
"rank": "155"
},
"湖南农业大学": {
"rank": "156"
},
"曲阜师范大学": {
"rank": "157"
},
"吉林农业大学": {
"rank": "158"
},
"徐州医科大学": {
"rank": "医18"
},
"武汉纺织大学": {
"rank": "159"
},
"武汉工程大学": {
"rank": "160"
},
"河南师范大学": {
"rank": "161"
},
"天津科技大学": {
"rank": "162"
},
"辽宁师范大学": {
"rank": "163"
},
"山东第一医科大学": {
"rank": "医19"
},
"江苏师范大学": {
"rank": "164"
},
"湖南中医药大学": {
"rank": "中医8"
},
"北京建筑大学": {
"rank": "165"
},
"汕头大学": {
"rank": "166"
},
"集美大学": {
"rank": "167"
},
"青岛科技大学": {
"rank": "168"
},
"三峡大学": {
"rank": "168"
},
"延边大学": {
"rank": "168",
"tags": [
"双一流",
"211"
]
},
"山东中医药大学": {
"rank": "中医9"
},
"沈阳药科大学": {
"rank": "医20"
},
"沈阳农业大学": {
"rank": "171"
},
"河南科技大学": {
"rank": "172"
},
"天津财经大学": {
"rank": "财16"
},
"中北大学": {
"rank": "173"
},
"济南大学": {
"rank": "174"
},
"华东交通大学": {
"rank": "175"
},
"上海海事大学": {
"rank": "176"
},
"辽宁中医药大学": {
"rank": "中医10"
},
"南昌航空大学": {
"rank": "177"
},
"河北师范大学": {
"rank": "178"
},
"西北师范大学": {
"rank": "179"
},
"长春中医药大学": {
"rank": "中医11"
},
"河南中医药大学": {
"rank": "中医11"
},
"天津理工大学": {
"rank": "180"
},
"北京体育大学": {
"rank": "体2",
"tags": [
"双一流",
"211"
]
},
"宁夏医科大学": {
"rank": "医21"
},
"西北政法大学": {
"rank": "政5"
},
"湖南科技大学": {
"rank": "181"
},
"国际关系学院": {
"rank": "182"
},
"沈阳航空航天大学": {
"rank": "183"
},
"河南理工大学": {
"rank": "184"
},
"长江大学": {
"rank": "185"
},
"上海电力大学": {
"rank": "186"
},
"南华大学": {
"rank": "187"
},
"沈阳工业大学": {
"rank": "187"
},
"重庆交通大学": {
"rank": "189"
},
"安徽工业大学": {
"rank": "190"
},
"江西理工大学": {
"rank": "190"
},
"西南医科大学": {
"rank": "医22"
},
"西安科技大学": {
"rank": "192"
},
"安徽理工大学": {
"rank": "193"
},
"山东理工大学": {
"rank": "194"
},
"西藏大学": {
"rank": "195",
"tags": [
"双一流",
"211"
]
},
"江西农业大学": {
"rank": "196"
},
"河北农业大学": {
"rank": "197"
},
"安徽财经大学": {
"rank": "财17"
},
"青海大学": {
"rank": "198",
"tags": [
"双一流",
"211"
]
},
"兰州理工大学": {
"rank": "199"
},
"西安邮电大学": {
"rank": "200"
},
"安徽中医药大学": {
"rank": "中医13"
},
"新乡医学院": {
"rank": "医23"
},
"桂林电子科技大学": {
"rank": "201"
},
"四川师范大学": {
"rank": "201"
},
"云南师范大学": {
"rank": "203"
},
"北京第二外国语学院": {
"rank": "语7"
},
"北京信息科技大学": {
"rank": "204"
},
"黑龙江中医药大学": {
"rank": "中医14"
},
"烟台大学": {
"rank": "205"
},
"昆明医科大学": {
"rank": "医24"
},
"苏州科技大学": {
"rank": "206"
},
"中南林业科技大学": {
"rank": "207"
},
"西南科技大学": {
"rank": "208"
},
"新疆医科大学": {
"rank": "医25"
},
"兰州交通大学": {
"rank": "209"
},
"青岛理工大学": {
"rank": "210"
},
"滨州医学院": {
"rank": "医26"
},
"江西中医药大学": {
"rank": "中医15"
},
"湖州师范学院": {
"rank": "211"
},
"西南民族大学": {
"rank": "民3"
},
"西安工业大学": {
"rank": "212"
},
"上海政法学院": {
"rank": "政6"
},
"哈尔滨师范大学": {
"rank": "213"
},
"东华理工大学": {
"rank": "214"
},
"北方工业大学": {
"rank": "215"
},
"北京电子科技学院": {
"rank": "216"
},
"湖北中医药大学": {
"rank": "中医16"
},
"东北石油大学": {
"rank": "217"
},
"重庆师范大学": {
"rank": "218"
},
"山西财经大学": {
"rank": "财18"
},
"沈阳建筑大学": {
"rank": "219"
},
"山东第二医科大学": {
"rank": "医27"
},
"遵义医科大学": {
"rank": "医28"
},
"内蒙古农业大学": {
"rank": "220"
},
"内蒙古师范大学": {
"rank": "221"
},
"大连工业大学": {
"rank": "222"
},
"广西中医药大学": {
"rank": "中医17"
},
"石家庄铁道大学": {
"rank": "223"
},
"河南工业大学": {
"rank": "224"
},
"湖北医药学院": {
"rank": "医29"
},
"嘉兴大学": {
"rank": "225"
},
"海南师范大学": {
"rank": "226"
},
"山西农业大学": {
"rank": "227"
},
"青岛农业大学": {
"rank": "228"
},
"福建中医药大学": {
"rank": "中医18"
},
"东北电力大学": {
"rank": "229"
},
"浙江海洋大学": {
"rank": "229"
},
"内蒙古医科大学": {
"rank": "医30"
},
"贵州医科大学": {
"rank": "医31"
},
"浙江科技大学": {
"rank": "231"
},
"成都大学": {
"rank": "232"
},
"哈尔滨理工大学": {
"rank": "233"
},
"上海工程技术大学": {
"rank": "234"
},
"吉林财经大学": {
"rank": "财19"
},
"西安石油大学": {
"rank": "235"
},
"上海应用技术大学": {
"rank": "236"
},
"重庆工商大学": {
"rank": "财21"
},
"广东财经大学": {
"rank": "财20"
},
"西安外国语大学": {
"rank": "语8"
},
"贵州师范大学": {
"rank": "237"
},
"河北科技大学": {
"rank": "238"
},
"佛山大学": {
"rank": "239"
},
"青海师范大学": {
"rank": "240"
},
"甘肃农业大学": {
"rank": "241"
},
"四川外国语大学": {
"rank": "语9"
},
"东莞理工学院": {
"rank": "242"
},
"中国民航大学": {
"rank": "243"
},
"重庆理工大学": {
"rank": "244"
},
"北京物资学院": {
"rank": "财22"
},
"首都体育学院": {
"rank": "体3"
},
"华北水利水电大学": {
"rank": "245"
},
"中国刑事警察学院": {
"rank": "政7"
},
"武汉轻工大学": {
"rank": "246"
},
"河南财经政法大学": {
"rank": "财23"
},
"鲁东大学": {
"rank": "247"
},
"大连外国语大学": {
"rank": "语10"
},
"赣南师范大学": {
"rank": "248"
},
"海南医科大学": {
"rank": "医32"
},
"陕西中医药大学": {
"rank": "中医19"
},
"山东建筑大学": {
"rank": "249"
},
"江汉大学": {
"rank": "250"
},
"浙大城市学院": {
"rank": "251"
},
"河北经贸大学": {
"rank": "财24"
},
"江苏警官学院": {
"rank": "政8"
},
"聊城大学": {
"rank": "252"
},
"广西民族大学": {
"rank": "民4"
},
"湖南工商大学": {
"rank": "财25"
},
"沈阳化工大学": {
"rank": "253"
},
"桂林理工大学": {
"rank": "254"
},
"成都信息工程大学": {
"rank": "255"
},
"西安工程大学": {
"rank": "256"
},
"郑州轻工业大学": {
"rank": "256"
},
"广东医科大学": {
"rank": "医33"
},
"上海立信会计金融学院": {
"rank": "财26"
},
"安徽工程大学": {
"rank": "258"
},
"西华师范大学": {
"rank": "258"
},
"锦州医科大学": {
"rank": "医34"
},
"大连交通大学": {
"rank": "260"
},
"南京工程学院": {
"rank": "261"
},
"上海海关学院": {
"rank": "262"
},
"辽宁石油化工大学": {
"rank": "263"
},
"沈阳理工大学": {
"rank": "264"
},
"绍兴文理学院": {
"rank": "265"
},
"延安大学": {
"rank": "266"
},
"河北中医药大学": {
"rank": "中医20"
},
"内蒙古工业大学": {
"rank": "267"
},
"沈阳大学": {
"rank": "267"
},
"蚌埠医科大学": {
"rank": "医35"
},
"大连民族大学": {
"rank": "民5"
},
"浙江传媒学院": {
"rank": "语11"
},
"厦门理工学院": {
"rank": "269"
},
"西华大学": {
"rank": "270"
},
"长春工业大学": {
"rank": "271"
},
"天津商业大学": {
"rank": "财28"
},
"郑州航空工业管理学院": {
"rank": "财27"
},
"沈阳师范大学": {
"rank": "272"
},
"贵州中医药大学": {
"rank": "中医21"
},
"大连大学": {
"rank": "273"
},
"华北理工大学": {
"rank": "273"
},
"川北医学院": {
"rank": "医36"
},
"沈阳医学院": {
"rank": "医37"
},
"安徽建筑大学": {
"rank": "275"
},
"广东药科大学": {
"rank": "医38"
},
"湖北经济学院": {
"rank": "财29"
},
"湖南工业大学": {
"rank": "276"
},
"桂林医学院": {
"rank": "医39"
},
"中国人民警察大学": {
"rank": "政9"
},
"井冈山大学": {
"rank": "277"
},
"西藏民族大学": {
"rank": "民6"
},
"山西师范大学": {
"rank": "278"
},
"辽宁工程技术大学": {
"rank": "279"
},
"北京农学院": {
"rank": "280"
},
"浙大宁波理工学院": {
"rank": "281"
},
"贵州财经大学": {
"rank": "财30"
},
"福建理工大学": {
"rank": "282"
},
"浙江外国语学院": {
"rank": "语12"
},
"常熟理工学院": {
"rank": "283"
},
"中原工学院": {
"rank": "284"
},
"山西中医药大学": {
"rank": "中医22"
},
"天津外国语大学": {
"rank": "语13"
},
"浙江警察学院": {
"rank": "政11"
},
"中国劳动关系学院": {
"rank": "政10"
},
"合肥大学": {
"rank": "285"
},
"四川警察学院": {
"rank": "政12"
},
"重庆科技大学": {
"rank": "286"
},
"渤海大学": {
"rank": "287"
},
"云南农业大学": {
"rank": "288"
},
"台州学院": {
"rank": "289"
},
"大理大学": {
"rank": "290"
},
"太原科技大学": {
"rank": "291"
},
"黑龙江八一农垦大学": {
"rank": "292"
},
"武汉体育学院": {
"rank": "体4"
},
"宁波工程学院": {
"rank": "293"
},
"西藏藏医药大学": {
"rank": "中医23"
},
"云南中医药大学": {
"rank": "中医23"
},
"深圳技术大学": {
"rank": "294"
},
"南京警察学院": {
"rank": "政13"
},
"西安财经大学": {
"rank": "财31"
},
"云南财经大学": {
"rank": "财31"
},
"河北工程大学": {
"rank": "295"
},
"辽宁科技大学": {
"rank": "296"
},
"北京联合大学": {
"rank": "297"
},
"北京石油化工学院": {
"rank": "297"
},
"北方民族大学": {
"rank": "民8"
},
"杭州医学院": {
"rank": "医40"
},
"西北民族大学": {
"rank": "民7"
},
"新疆农业大学": {
"rank": "299"
},
"贵州民族大学": {
"rank": "民9"
},
"皖南医学院": {
"rank": "医41"
},
"吉首大学": {
"rank": "300"
},
"辽宁工业大学": {
"rank": "300"
},
"云南民族大学": {
"rank": "民10"
},
"北京印刷学院": {
"rank": "302"
},
"闽南师范大学": {
"rank": "303"
},
"沈阳体育学院": {
"rank": "体5"
},
"淮阴工学院": {
"rank": "304"
},
"承德医学院": {
"rank": "医42"
},
"闽江学院": {
"rank": "305"
},
"广东海洋大学": {
"rank": "306"
},
"哈尔滨商业大学": {
"rank": "财33"
},
"信阳师范大学": {
"rank": "307"
},
"河北地质大学": {
"rank": "308"
},
"北华大学": {
"rank": "309"
},
"吉林师范大学": {
"rank": "310"
},
"甘肃中医药大学": {
"rank": "中医25"
},
"临沂大学": {
"rank": "311"
},
"淮北师范大学": {
"rank": "312"
},
"大连海洋大学": {
"rank": "313"
},
"南宁师范大学": {
"rank": "314"
},
"盐城工学院": {
"rank": "315"
},
"吉林建筑大学": {
"rank": "316"
},
"无锡学院": {
"rank": "317"
},
"塔里木大学": {
"rank": "318"
},
"广东技术师范大学": {
"rank": "319"
},
"长沙学院": {
"rank": "320"
},
"景德镇陶瓷大学": {
"rank": "321"
},
"河南科技学院": {
"rank": "322"
},
"江苏海洋大学": {
"rank": "322"
},
"青海民族大学": {
"rank": "民11"
},
"山东工商学院": {
"rank": "财34"
},
"天津城建大学": {
"rank": "324"
},
"湖北师范大学": {
"rank": "325"
},
"贵州师范学院": {
"rank": "326"
},
"赣南医科大学": {
"rank": "医43"
},
"上海健康医学院": {
"rank": "医43"
},
"江西科技师范大学": {
"rank": "327"
},
"甘肃政法大学": {
"rank": "政14"
},
"西南林业大学": {
"rank": "328"
},
"五邑大学": {
"rank": "329"
},
"济宁医学院": {
"rank": "医45"
},
"内蒙古科技大学": {
"rank": "330"
},
"南京晓庄学院": {
"rank": "331"
},
"长春师范大学": {
"rank": "332"
},
"长江师范学院": {
"rank": "333"
},
"重庆文理学院": {
"rank": "333"
},
"中华女子学院": {
"rank": "语14"
},
"内蒙古财经大学": {
"rank": "财35"
},
"新疆师范大学": {
"rank": "335"
},
"安庆师范大学": {
"rank": "336"
},
"淮阴师范学院": {
"rank": "336"
},
"天津体育学院": {
"rank": "体6"
},
"浙江万里学院": {
"rank": "338"
},
"江苏理工学院": {
"rank": "339"
},
"上海电机学院": {
"rank": "340"
},
"上海第二工业大学": {
"rank": "341"
},
"四川轻化工大学": {
"rank": "342"
},
"北京警察学院": {
"rank": "政15"
},
"常州工学院": {
"rank": "343"
},
"成都体育学院": {
"rank": "体7"
},
"上海商学院": {
"rank": "财36"
},
"湖南理工学院": {
"rank": "344"
},
"成都医学院": {
"rank": "医46"
},
"盐城师范学院": {
"rank": "345"
},
"湖北民族大学": {
"rank": "民12"
},
"仲恺农业工程学院": {
"rank": "346"
},
"湖北汽车工业学院": {
"rank": "347"
},
"广西科技大学": {
"rank": "348"
},
"黄冈师范学院": {
"rank": "348"
},
"南昌工程学院": {
"rank": "350"
},
"中央司法警官学院": {
"rank": "政16"
},
"榆林学院": {
"rank": "351"
},
"新疆财经大学": {
"rank": "财37"
},
"金陵科技学院": {
"rank": "352"
},
"山东交通学院": {
"rank": "352"
},
"南京体育学院": {
"rank": "体8"
},
"湖北第二师范学院": {
"rank": "354"
},
"广东警官学院": {
"rank": "政17"
},
"徐州工程学院": {
"rank": "355"
},
"天津农学院": {
"rank": "356"
},
"泉州师范学院": {
"rank": "357"
},
"牡丹江医科大学": {
"rank": "医47"
},
"湖北文理学院": {
"rank": "358"
},
"洛阳师范学院": {
"rank": "359"
},
"天津职业技术师范大学": {
"rank": "360"
},
"重庆警察学院": {
"rank": "政18"
},
"齐齐哈尔医学院": {
"rank": "医48"
},
"右江民族医学院": {
"rank": "医49"
},
"陕西理工大学": {
"rank": "361"
},
"湖南第一师范学院": {
"rank": "362"
},
"广州体育学院": {
"rank": "体9"
},
"内蒙古民族大学": {
"rank": "民13"
},
"合肥师范学院": {
"rank": "363"
},
"广东石油化工学院": {
"rank": "364"
},
"安徽科技学院": {
"rank": "365"
},
"绵阳师范学院": {
"rank": "365"
},
"衢州学院": {
"rank": "367"
},
"广东金融学院": {
"rank": "财38"
},
"西安医学院": {
"rank": "医50"
},
"贵阳学院": {
"rank": "368"
},
"惠州学院": {
"rank": "369"
},
"三明学院": {
"rank": "370"
},
"齐齐哈尔大学": {
"rank": "371"
},
"河北北方学院": {
"rank": "医51"
},
"重庆三峡学院": {
"rank": "372"
},
"河南警察学院": {
"rank": "政19"
},
"长春工程学院": {
"rank": "373"
},
"丽水学院": {
"rank": "373"
},
"衡阳师范学院": {
"rank": "375"
},
"西藏农牧学院": {
"rank": "376"
},
"兰州财经大学": {
"rank": "财39"
},
"内蒙古科技大学包头医学院": {
"rank": "医52"
},
"厦门医学院": {
"rank": "医53"
},
"攀枝花学院": {
"rank": "377"
},
"湘南学院": {
"rank": "378"
},
"长春大学": {
"rank": "379"
},
"铜仁学院": {
"rank": "379"
},
"湖北科技学院": {
"rank": "381"
},
"洛阳理工学院": {
"rank": "381"
},
"中国民用航空飞行学院": {
"rank": "383"
},
"岭南师范学院": {
"rank": "384"
},
"郑州警察学院": {
"rank": "政20"
},
"阜阳师范大学": {
"rank": "385"
},
"佳木斯大学": {
"rank": "385"
},
"黔南民族师范学院": {
"rank": "385"
},
"泰山学院": {
"rank": "385"
},
"山东体育学院": {
"rank": "体10"
},
"黑龙江科技大学": {
"rank": "389"
},
"龙岩学院": {
"rank": "390"
},
"防灾科技学院": {
"rank": "391"
},
"成都师范学院": {
"rank": "392"
},
"内江师范学院": {
"rank": "393"
},
"滁州学院": {
"rank": "394"
},
"湖北理工学院": {
"rank": "395"
},
"山东政法学院": {
"rank": "政21"
},
"周口师范学院": {
"rank": "396"
},
"河北科技师范学院": {
"rank": "397"
},
"江苏第二师范学院": {
"rank": "397"
},
"辽宁警察学院": {
"rank": "政22"
},
"河北金融学院": {
"rank": "财40"
},
"山东航空学院": {
"rank": "399"
},
"怀化学院": {
"rank": "400"
},
"云南警官学院": {
"rank": "政23"
},
"沈阳工程学院": {
"rank": "401"
},
"福建江夏学院": {
"rank": "财41"
},
"莆田学院": {
"rank": "402"
},
"湖南城市学院": {
"rank": "403"
},
"北华航天工业学院": {
"rank": "404"
},
"韶关学院": {
"rank": "405"
},
"湖南工程学院": {
"rank": "406"
},
"曲靖师范学院": {
"rank": "407"
},
"湖南文理学院": {
"rank": "408"
},
"浙江水利水电学院": {
"rank": "408"
},
"潍坊学院": {
"rank": "410"
},
"宜宾学院": {
"rank": "411"
},
"德州学院": {
"rank": "412"
},
"皖西学院": {
"rank": "412"
},
"南阳师范学院": {
"rank": "414"
},
"北部湾大学": {
"rank": "415"
},
"贵州理工学院": {
"rank": "416"
},
"湖南科技学院": {
"rank": "416"
},
"枣庄学院": {
"rank": "418"
},
"福建警察学院": {
"rank": "政24"
},
"湖南财政经济学院": {
"rank": "财43"
},
"嘉兴南湖学院": {
"rank": "财42"
},
"牡丹江师范学院": {
"rank": "419"
},
"宿迁学院": {
"rank": "420"
},
"太原师范学院": {
"rank": "421"
},
"邵阳学院": {
"rank": "422"
},
"广东第二师范学院": {
"rank": "423"
},
"玉林师范学院": {
"rank": "423"
},
"石家庄学院": {
"rank": "425"
},
"广西财经学院": {
"rank": "财44"
},
"通化师范学院": {
"rank": "426"
},
"西安文理学院": {
"rank": "426"
},
"河南工程学院": {
"rank": "428"
},
"肇庆学院": {
"rank": "428"
},
"遵义师范学院": {
"rank": "428"
},
"吉林警察学院": {
"rank": "政25"
},
"西安体育学院": {
"rank": "体11"
},
"哈尔滨体育学院": {
"rank": "体12"
},
"黑龙江工程学院": {
"rank": "431"
},
"昆明学院": {
"rank": "431"
},
"长治医学院": {
"rank": "医54"
},
"宁德师范学院": {
"rank": "433"
},
"湖北警官学院": {
"rank": "政26"
},
"南阳理工学院": {
"rank": "434"
},
"武夷学院": {
"rank": "434"
},
"黄淮学院": {
"rank": "436"
},
"宜春学院": {
"rank": "437"
},
"吉林化工学院": {
"rank": "438"
},
"许昌学院": {
"rank": "439"
},
"吉林医药学院": {
"rank": "医55"
},
"韩山师范学院": {
"rank": "440"
},
"上饶师范学院": {
"rank": "440"
},
"湖南警察学院": {
"rank": "政27"
},
"宝鸡文理学院": {
"rank": "442"
},
"重庆第二师范学院": {
"rank": "442"
},
"乐山师范学院": {
"rank": "442"
},
"淮南师范学院": {
"rank": "445"
},
"温州理工学院": {
"rank": "445"
},
"安阳师范学院": {
"rank": "447"
},
"西昌学院": {
"rank": "448"
},
"广州航海学院": {
"rank": "449"
},
"河南城建学院": {
"rank": "450"
},
"齐鲁师范学院": {
"rank": "451"
},
"湖州学院": {
"rank": "452"
},
"天水师范学院": {
"rank": "453"
},
"湖南人文科技学院": {
"rank": "454"
},
"唐山师范学院": {
"rank": "454"
},
"商丘师范学院": {
"rank": "456"
},
"成都工业学院": {
"rank": "457"
},
"六盘水师范学院": {
"rank": "457"
},
"武汉商学院": {
"rank": "财45"
},
"巢湖学院": {
"rank": "459"
},
"贺州学院": {
"rank": "460"
},
"内蒙古科技大学包头师范学院": {
"rank": "460"
},
"平顶山学院": {
"rank": "460"
},
"南昌师范学院": {
"rank": "463"
},
"渭南师范学院": {
"rank": "463"
},
"宁夏师范大学": {
"rank": "465"
},
"吉林体育学院": {
"rank": "体13"
},
"湖南工学院": {
"rank": "466"
},
"鞍山师范学院": {
"rank": "467"
},
"哈尔滨学院": {
"rank": "468"
},
"湖北工程学院": {
"rank": "468"
},
"南昌医学院": {
"rank": "医56"
},
"山东警察学院": {
"rank": "政28"
},
"上海公安学院": {
"rank": "政29"
},
"吉林工程技术师范学院": {
"rank": "470"
},
"廊坊师范学院": {
"rank": "471"
},
"西安航空学院": {
"rank": "472"
},
"信阳农林学院": {
"rank": "473"
},
"山西大同大学": {
"rank": "474"
},
"黄山学院": {
"rank": "475"
},
"嘉应学院": {
"rank": "475"
},
"江西警察学院": {
"rank": "政30"
},
"福建技术师范学院": {
"rank": "477"
},
"四川旅游学院": {
"rank": "478"
},
"咸阳师范学院": {
"rank": "478"
},
"南京特殊教育师范学院": {
"rank": "480"
},
"宿州学院": {
"rank": "480"
},
"凯里学院": {
"rank": "482"
},
"海南热带海洋学院": {
"rank": "483"
},
"九江学院": {
"rank": "483"
},
"山东管理学院": {
"rank": "485"
},
"玉溪师范学院": {
"rank": "486"
},
"安阳工学院": {
"rank": "487"
},
"新乡学院": {
"rank": "487"
},
"铜陵学院": {
"rank": "财46"
},
"河西学院": {
"rank": "489"
},
"太原工业学院": {
"rank": "490"
},
"山东女子学院": {
"rank": "491"
},
"伊犁师范大学": {
"rank": "491"
},
"河北建筑工程学院": {
"rank": "493"
},
"赤峰学院": {
"rank": "494"
},
"琼台师范学院": {
"rank": "495"
},
"陇东学院": {
"rank": "496"
},
"苏州城市学院": {
"rank": "496"
},
"贵州警察学院": {
"rank": "政31"
},
"营口理工学院": {
"rank": "498"
},
"大庆师范学院": {
"rank": "499"
},
"华北科技学院": {
"rank": "500"
},
"阿坝师范学院": {
"rank": "500+"
},
"安康学院": {
"rank": "500+"
},
"安顺学院": {
"rank": "500+"
},
"白城师范学院": {
"rank": "500+"
},
"百色学院": {
"rank": "500+"
},
"保定学院": {
"rank": "500+"
},
"保山学院": {
"rank": "500+"
},
"蚌埠学院": {
"rank": "500+"
},
"亳州学院": {
"rank": "500+"
},
"沧州师范学院": {
"rank": "500+"
},
"昌吉学院": {
"rank": "500+"
},
"长沙师范学院": {
"rank": "500+"
},
"长治学院": {
"rank": "500+"
},
"池州学院": {
"rank": "500+"
},
"楚雄师范学院": {
"rank": "500+"
},
"滇西科技师范学院": {
"rank": "500+"
},
"滇西应用技术大学": {
"rank": "500+"
},
"鄂尔多斯应用技术学院": {
"rank": "500+"
},
"赣东学院": {
"rank": "500+"
},
"赣南科技学院": {
"rank": "500+"
},
"甘肃民族师范学院": {
"rank": "500+"
},
"广西科技师范学院": {
"rank": "500+"
},
"广西民族师范学院": {
"rank": "500+"
},
"广西职业师范学院": {
"rank": "500+"
},
"桂林航天工业学院": {
"rank": "500+"
},
"贵州工程应用技术学院": {
"rank": "500+"
},
"邯郸学院": {
"rank": "500+"
},
"汉江师范学院": {
"rank": "500+"
},
"河北环境工程学院": {
"rank": "500+"
},
"河北民族师范学院": {
"rank": "500+"
},
"河北水利电力学院": {
"rank": "500+"
},
"河池学院": {
"rank": "500+"
},
"合肥理工学院": {
"rank": "500+"
},
"黑河学院": {
"rank": "500+"
},
"黑龙江工业学院": {
"rank": "500+"
},
"河南工学院": {
"rank": "500+"
},
"河南牧业经济学院": {
"rank": "500+"
},
"衡水学院": {
"rank": "500+"
},
"河套学院": {
"rank": "500+"
},
"菏泽学院": {
"rank": "500+"
},
"红河学院": {
"rank": "500+"
},
"呼伦贝尔学院": {
"rank": "500+"
},
"吉林农业科技学院": {
"rank": "500+"
},
"荆楚理工学院": {
"rank": "500+"
},
"景德镇学院": {
"rank": "500+"
},
"集宁师范学院": {
"rank": "500+"
},
"济宁学院": {
"rank": "500+"
},
"晋中学院": {
"rank": "500+"
},
"喀什大学": {
"rank": "500+"
},
"兰州城市学院": {
"rank": "500+"
},
"兰州工业学院": {
"rank": "500+"
},
"兰州文理学院": {
"rank": "500+"
},
"辽东学院": {
"rank": "500+"
},
"辽宁科技学院": {
"rank": "500+"
},
"吕梁学院": {
"rank": "500+"
},
"萍乡学院": {
"rank": "500+"
},
"普洱学院": {
"rank": "500+"
},
"山东农业工程学院": {
"rank": "500+"
},
"山东青年政治学院": {
"rank": "500+"
},
"山东石油化工学院": {
"rank": "500+"
},
"商洛学院": {
"rank": "500+"
},
"山西电子科技学院": {
"rank": "500+"
},
"山西工程技术学院": {
"rank": "500+"
},
"山西工学院": {
"rank": "500+"
},
"山西科技学院": {
"rank": "500+"
},
"山西能源学院": {
"rank": "500+"
},
"陕西学前师范学院": {
"rank": "500+"
},
"四川民族学院": {
"rank": "500+"
},
"四川文理学院": {
"rank": "500+"
},
"绥化学院": {
"rank": "500+"
},
"太原学院": {
"rank": "500+"
},
"泰州学院": {
"rank": "500+"
},
"唐山学院": {
"rank": "500+"
},
"天津中德应用技术大学": {
"rank": "500+"
},
"文山学院": {
"rank": "500+"
},
"梧州学院": {
"rank": "500+"
},
"邢台学院": {
"rank": "500+"
},
"兴义民族师范学院": {
"rank": "500+"
},
"新疆工程学院": {
"rank": "500+"
},
"新疆理工学院": {
"rank": "500+"
},
"新疆政法学院": {
"rank": "500+"
},
"新余学院": {
"rank": "500+"
},
"忻州师范学院": {
"rank": "500+"
},
"运城学院": {
"rank": "500+"
},
"豫章师范学院": {
"rank": "500+"
},
"张家口学院": {
"rank": "500+"
},
"昭通学院": {
"rank": "500+"
},
"郑州工程技术学院": {
"rank": "500+"
},
"郑州师范学院": {
"rank": "500+"
},
"福建商学院": {
"rank": "财46+"
},
"甘肃医学院": {
"rank": "医56+"
},
"广西警察学院": {
"rank": "政31+"
},
"桂林旅游学院": {
"rank": "财46+"
},
"贵州商学院": {
"rank": "财46+"
},
"哈尔滨金融学院": {
"rank": "财46+"
},
"河北体育学院": {
"rank": "体13+"
},
"河南财政金融学院": {
"rank": "财46+"
},
"河南体育学院": {
"rank": "体13+"
},
"呼和浩特民族学院": {
"rank": "民13+"
},
"湖南女子学院": {
"rank": "语14+"
},
"湖南医药学院": {
"rank": "医56+"
},
"吉林工商学院": {
"rank": "财46+"
},
"山西警察学院": {
"rank": "政31+"
},
"新疆第二医学院": {
"rank": "医56+"
},
"新疆警察学院": {
"rank": "政31+"
},
"新疆科技学院": {
"rank": "财46+"
}
};
// State
let isInjected = false;
let isFilteringRunning = false;
// Utility functions
const log = (message, type = 'info') => {
console.log(`[${type}] ${message}`);
};
const createToast = (message, duration = 3000) => {
const toast = document.createElement('div');
toast.style.cssText = `
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: rgba(0, 0, 0, 0.7);
color: white;
padding: 15px 25px;
border-radius: 4px;
z-index: 9999;
`;
toast.textContent = message;
document.body.appendChild(toast);
setTimeout(() => toast.remove(), duration);
};
const createButton = (text, className) => {
const button = document.createElement('span');
button.setAttribute('data-v-dbcba0b4', '');
button.className = `${className} reset-btn`;
button.textContent = text;
return button;
};
const getTableRows = (iframe) => {
const tbody = iframe.contentDocument.querySelector('.ui-tablepro-tbody');
return tbody ? tbody.querySelectorAll('tr') : null;
};
const updateUniversityInfo = (iframe) => {
const rows = getTableRows(iframe);
if (!rows) return;
rows.forEach(row => {
const schoolCell = row.querySelector('td:nth-child(5) .plain-text');
if (!schoolCell) return;
// 移除旧的 university-info 元素
const existingInfo = schoolCell.querySelector('.university-info');
if (existingInfo) {
existingInfo.remove();
}
// 获取学校名称,处理可能的格式问题
let school = schoolCell.textContent.trim();
// 移除可能的额外信息(如"本科"、"硕士"等)
school = school.split('·')[0].trim();
const universityInfo = UNIVERSITY_RANKINGS[school];
const infoDiv = document.createElement('div');
infoDiv.className = 'university-info';
// 处理排名信息
const rankClass = universityInfo ? '' : 'no-match';
const rankText = universityInfo ? universityInfo.rank : '无';
// 处理标签信息
const tagsClass = universityInfo && universityInfo.tags ? '' : 'no-match';
const tagsText = universityInfo && universityInfo.tags ?
universityInfo.tags.map(tag => `<span>${tag}</span>`).join('') : '---';
infoDiv.innerHTML = `
<span class="rank ${rankClass}">排名: ${rankText}</span>
<span class="tags ${tagsClass}">标签: ${tagsText}</span>
`;
schoolCell.appendChild(infoDiv);
});
};
const debounce = (func, wait) => {
let timeout;
return function executedFunction(...args) {
const later = () => {
clearTimeout(timeout);
func(...args);
};
clearTimeout(timeout);
timeout = setTimeout(later, wait);
};
};
const observeTableChanges = (iframe, callback) => {
const tbody = iframe.contentDocument.querySelector('.ui-tablepro-tbody');
if (!tbody) return null;
// 使用防抖包装回调函数
const debouncedCallback = debounce(callback, 300);
const observer = new MutationObserver((mutations) => {
// 检查是否有实际的内容变化
const hasContentChanges = mutations.some(mutation => {
return mutation.type === 'childList' ||
(mutation.type === 'characterData' && mutation.target.nodeType === Node.TEXT_NODE);
});
if (hasContentChanges) {
debouncedCallback();
}
});
// 配置观察选项
const config = {
childList: true, // 观察子节点的添加或删除
subtree: true, // 观察所有后代节点
characterData: true, // 观察文本内容的变化
attributes: true // 观察属性变化
};
observer.observe(tbody, config);
// 初始加载时触发一次回调
debouncedCallback();
return observer;
};
const checkAndSelectRow = (row) => {
const checkbox = row.querySelector('input[type="checkbox"]');
if (checkbox) {
checkbox.checked = true;
['change', 'click', 'input'].forEach(eventType => {
checkbox.dispatchEvent(new Event(eventType, { bubbles: true }));
});
}
};
// Filter handlers
const handleAgeFilter = (iframe) => {
const rows = getTableRows(iframe);
if (!rows) return;
rows.forEach(row => {
const ageCell = row.querySelector('td:nth-child(3)');
if (!ageCell) return;
const ageText = ageCell.textContent.trim();
const age = parseInt(ageText.split('·')[1].replace(/[^0-9]/g, ''));
if (!isNaN(age) && age > 45) {
checkAndSelectRow(row);
}
});
};
const handleGenderFilter = (iframe) => {
const rows = getTableRows(iframe);
if (!rows) return;
rows.forEach(row => {
const secondTd = row.querySelector('td:nth-child(2)');
if (!secondTd) return;
const genderIcon = secondTd.querySelector('i.icon-gender.iboss-icon_women');
if (genderIcon) {
checkAndSelectRow(row);
}
});
};
const handleEducationFilter = async (iframe) => {
if (isFilteringRunning) {
createToast('筛选程序正在运行中,请等待完成或点击停止');
return;
}
isFilteringRunning = true;
const progressPanel = createProgressPanel();
document.body.appendChild(progressPanel);
try {
const rows = getTableRows(iframe);
if (!rows) return;
const totalRows = rows.length;
let currentIndex = 0;
let excludedCount = 0;
let shouldStop = false;
for (const row of rows) {
if (shouldStop) break;
currentIndex++;
updateProgress(progressPanel, currentIndex, totalRows, excludedCount);
await processRow(row, () => {
excludedCount++;
updateProgress(progressPanel, currentIndex, totalRows, excludedCount);
});
await new Promise(resolve => setTimeout(resolve, 2000));
}
finalizeProgress(progressPanel, totalRows, currentIndex, excludedCount, shouldStop);
} catch (e) {
log(`处理非统招本科按钮点击时出错: ${e.message}`, 'error');
} finally {
isFilteringRunning = false;
}
};
const createProgressPanel = () => {
const panel = document.createElement('div');
panel.style.cssText = `
position: fixed;
top: 20px;
right: 20px;
background: white;
padding: 15px;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
z-index: 9999;
font-size: 14px;
min-width: 200px;
`;
const progressText = document.createElement('div');
progressText.style.marginBottom = '10px';
panel.appendChild(progressText);
const stopButton = document.createElement('button');
stopButton.textContent = '停止';
stopButton.style.cssText = `
background: #ff4d4f;
color: white;
border: none;
padding: 5px 15px;
border-radius: 4px;
cursor: pointer;
width: 100%;
`;
panel.appendChild(stopButton);
return panel;
};
const updateProgress = (panel, current, total, excluded) => {
const progressText = panel.querySelector('div');
progressText.textContent = `进度: ${current}/${total} (已排除: ${excluded})`;
};
const finalizeProgress = (panel, total, current, excluded, stopped) => {
const progressText = panel.querySelector('div');
const stopButton = panel.querySelector('button');
progressText.textContent = stopped ?
`已停止 - 共${total}个,处理${current}个,排除${excluded}个` :
`完成 - 共${total}个,处理${current}个,排除${excluded}个`;
stopButton.textContent = '关闭';
stopButton.style.background = '#1890ff';
stopButton.disabled = false;
stopButton.onclick = () => {
panel.remove();
isFilteringRunning = false;
};
};
const processRow = async (row, onExclude) => {
row.click();
await new Promise(resolve => setTimeout(resolve, 2000));
const schoolInfo = document.querySelector('.dialog-wrap .geek-education-experience-wrap');
if (schoolInfo && (schoolInfo.textContent.includes('大专') || schoolInfo.textContent.includes('非全日制'))) {
const operateBtn = document.querySelector('.dialog-wrap .operate-wrap .operate-item:nth-child(2)');
if (operateBtn) {
operateBtn.click();
onExclude();
createToast(`检测到非统招本科简历: ${schoolInfo.textContent}`, 5000);
}
}
const closeBtn = document.querySelector('.dialog-wrap .boss-popup__close');
if (closeBtn) {
closeBtn.click();
}
};
// Main injection function
const injectStyles = (iframe) => {
if (isInjected) return;
const style = iframe.contentDocument.createElement('style');
style.textContent = STYLES;
iframe.contentDocument.head.appendChild(style);
const conditionFilter = iframe.contentDocument.querySelector('.condition-filter');
if (!conditionFilter) {
log('未找到.condition-filter元素', 'error');
return;
}
// 监听表格变化
const tableObserver = observeTableChanges(iframe, () => {
log('检测到表格内容变化');
updateUniversityInfo(iframe);
});
const buttons = [
{ text: '45+', className: '45more', handler: () => handleAgeFilter(iframe) },
{ text: '女', className: 'female-btn', handler: () => handleGenderFilter(iframe) },
{ text: '排除非统招本科', className: 'non-standard-btn', handler: () => handleEducationFilter(iframe) }
];
buttons.forEach(({ text, className, handler }) => {
const button = createButton(text, className);
button.addEventListener('click', handler);
conditionFilter.insertBefore(button, conditionFilter.lastElementChild);
});
isInjected = true;
log('样式和按钮已注入');
// 在iframe卸载时清理observer
iframe.addEventListener('unload', () => {
if (tableObserver) {
tableObserver.disconnect();
}
});
};
// Main initialization
const main = async () => {
if (!PATH_REGEX.test(location.pathname)) {
isInjected = false;
return;
}
const iframe = document.querySelector('.frame-box > iframe, [class*="frame"] iframe');
if (!iframe) return;
try {
if (!iframe.contentWindow || !iframe.contentDocument) {
log('跨域限制', 'error');
return;
}
} catch (e) {
log(e.message, 'error');
return;
}
await new Promise(resolve => {
if (iframe.contentDocument.readyState === 'complete') {
resolve();
} else {
iframe.addEventListener('load', resolve, { once: true });
}
});
injectStyles(iframe);
};
// SPA routing
const observeSPA = () => {
const originalPush = history.pushState;
history.pushState = (...args) => {
originalPush.apply(history, args);
setTimeout(main, 300);
};
window.addEventListener('popstate', () => setTimeout(main, 300));
};
// Initialization
const init = () => {
main();
setTimeout(main, 3000);
const observer = new MutationObserver(() => {
if (document.querySelector('.frame-box')) {
observer.disconnect();
setTimeout(main, 1000);
}
});
observer.observe(document.body, { childList: true, subtree: true });
observeSPA();
};
// Start the script
if (document.readyState === 'complete') {
init();
} else {
window.addEventListener('load', init);
document.addEventListener('DOMContentLoaded', init);
}
})();