// ==UserScript== // @name YES24自动刷新预订 // @namespace http://tampermonkey.net/ // @version 1.0 // @description 在指定时间自动刷新页面并点击预订按钮 // @author yoki // @match *://ticket.yes24.com/Pages/English/Perf/* // @grant unsafeWindow // @run-at document-end // ==/UserScript== (()=>{"use strict";function t(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=Array(n);eYES24 自动预订\n ').concat((n=new Date,p=n.getFullYear(),m=String(n.getMonth()+1).padStart(2,"0"),g=String(n.getDate()).padStart(2,"0"),y=String(n.getHours()).padStart(2,"0"),b=String(n.getMinutes()).padStart(2,"0"),'\n
\n \n
\n \n \n
\n
\n ')),'\n
\n \n \n
\n
\n
\n '),document.body.appendChild(t),document.getElementById("start-refresh").addEventListener("click",x),document.getElementById("cancel-refresh").addEventListener("click",v);var n,p,m,g,y,b}():g&&!t&&(console.log("找到预订按钮,准备点击一次..."),t=!0,setTimeout((function(){return g.click()}),500),m&&m.disconnect())}var m,g=null,y=null;function x(){var t=document.getElementById("refresh-date").value,e=document.getElementById("refresh-time").value,r=document.getElementById("status-message"),o=document.getElementById("countdown");if(!t||!e)return r.textContent="请设置有效的刷新时间",void(r.style.color="red");var a=n(e.split(":").map(Number),2),i=a[0],c=a[1],l=n(t.split("-").map(Number),3),d=l[0],u=l[1],s=l[2],f=new Date(d,u-1,s,i,c,0),p=new Date;if(f<=p||isNaN(f.getTime()))return r.textContent="请设置一个将来的有效时间",void(r.style.color="red");var m=f.getTime()-p.getTime();r.textContent="将在 ".concat(f.toLocaleString()," 刷新页面"),r.style.color="#008800",g&&clearTimeout(g),y&&clearInterval(y),g=setTimeout((function(){location.reload()}),m),y=setInterval((function(){var t=new Date,n=f.getTime()-t.getTime();if(n<=0)return o.textContent="刷新中...",void clearInterval(y);var e=Math.floor(n/36e5),r=Math.floor(n%36e5/6e4),a=Math.floor(n%6e4/1e3);o.textContent="倒计时: ".concat(e,"时 ").concat(r,"分 ").concat(a,"秒")}),1e3)}function v(){g&&(clearTimeout(g),g=null),y&&(clearInterval(y),y=null);var t=document.getElementById("status-message"),n=document.getElementById("countdown");t.textContent="自动刷新已取消",t.style.color="#666",n.textContent=""}window.addEventListener("load",p),(m=new MutationObserver(p)).observe(document.body,{childList:!0,subtree:!0})}()})();