自动断线重连校园网
// ==UserScript== // @name 定时重连 // @namespace authysu // @version 0.0.3 // @description 自动断线重连校园网 // @author 任zc // @match *://auth.ysu.edu.cn/* // @match *://10.11.0.1/* // @grant unsafeWindow // ==/UserScript== //刷新页面,似乎没必要 //location.reload(); //劫持confirm unsafeWindow.confirm = function(){return 1}; window.confirm = function(){return 1}; Window.prototype.confirm = function(){return 1}; function redir(){ window.location.href="http://10.11.0.1" } function logout(){ if(!document.querySelector("#toLogOut")){ //没有找到注销,不再执行后续代码 return; } document.querySelector("#toLogOut").click(); } function relogin(){ if(!document.querySelector("#offlineDiv")){ //没找到重登 //setTimeout(redir, 60000) //假如一分钟都没连上,重定向 return; } document.querySelector("#offlineDiv").click(); } function dateFormat(fmt, date) { let ret; const opt = { "Y+": date.getFullYear().toString(), "m+": (date.getMonth() + 1).toString(), "d+": date.getDate().toString(), "H+": date.getHours().toString(), "M+": date.getMinutes().toString(), "S+": date.getSeconds().toString() // 有其他格式化字符需求可以继续添加,必须转化成字符串 }; for (let k in opt) { ret = new RegExp("(" + k + ")").exec(fmt); if (ret) { fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0"))) }; }; return fmt; } //设置重连的时间 var uh = 4 var um = 0 var us = 0 var myDate = new Date(); function calctimespan(myDate){ var hnow = myDate.getHours(); var mnow = myDate.getMinutes(); var snow = myDate.getSeconds(); var hspan = (uh - hnow + 24) % 24 var mspan = um - mnow var sspan = us - snow var timespan = (60*60*hspan + 60*mspan + sspan)*1000 if(4 == hnow && 0 == mnow){ timespan = 60*60*24*1000 } return timespan } var timespan = calctimespan(myDate) window.onload = function (){ } setTimeout(logout, timespan); //注销5秒后重连 setTimeout(relogin, 5000) window.onload = function(){ if(!document.querySelector("#toLogOut") && !document.querySelector("#offlineDiv") && !document.querySelector("#SLoginBtn_1")){ setTimeout(redir, 60000) //两者皆非就隔段时间重连 }else if(document.querySelector("#toLogOut")){ var hello=1 }else{ setTimeout(function(){ if(document.querySelector("#SLoginBtn_1")){ redir() } }, 60000) } setTimeout(function(){ var myname = document.getElementById('userName'); myname.innerHTML = "无量天高智勇道德圣玉真上贤明大#" }, 3000) var date = new Date(); var welmsg = document.getElementById('userMessage'); welmsg.innerHTML = "上次刷新时间:" + dateFormat("YYYY-mm-dd HH:MM", date); } //if(!document.querySelector("#toLogOut")){ // setTimeout(redir, 60000) //假如一分钟都没连上,重定向 //}