[自律]定时关闭网页

脚本用于定时关闭单个网页

  1. // ==UserScript==
  2. // @name [自律]定时关闭网页
  3. // @namespace https://github.com/ibxff
  4. // @namespace ibxff@outlook.com
  5. // @version 0.1
  6. // @author ibxff
  7. // @description 脚本用于定时关闭单个网页
  8. // @description:en A script used to automatically close individual web pages at scheduled times.
  9. // @description:ja 単一のウェブページを定期的に閉じるためのスクリプトです。
  10. // @require https://unpkg.com/sweetalert/dist/sweetalert.min.js
  11. // @grant GM_registerMenuCommand
  12. // @grant GM_unregisterMenuCommand
  13. // @grant unsafeWindow
  14. // @license GPL-3.0
  15. // @match *://*/*
  16. // @icon data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgc3R5bGU9IndpZHRoOiAxZW07aGVpZ2h0OiAxZW07dmVydGljYWwtYWxpZ246IG1pZGRsZTtmaWxsOiBjdXJyZW50Q29sb3I7b3ZlcmZsb3c6IGhpZGRlbjsiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBwLWlkPSI2MTA4Ij48cGF0aCBkPSJNMzI3LjY4IDE5Ni42MDhoMzc1LjgwOEw1OTIuODk2IDM3NS44MDhsNjkuNjMyIDQzLjAwOCAxNDguNDgtMjQxLjY2NC0zNC44MTYtNjIuNDY0SDI0Ny44MDhsLTMzLjc5MiA2NC41MTIgMjUzLjk1MiAzNTAuMjA4IDIyNi4zMDQgMjk3Ljk4NEgzMjAuNTEyTDQzMC4wOCA2NDkuMjE2bC02OS42MzItNDMuMDA4LTE0Ny40NTYgMjQwLjY0IDM0LjgxNiA2Mi40NjRoNTI4LjM4NGwzMi43NjgtNjUuNTM2TDUzNC41MjggNDgxLjI4eiIgZmlsbD0iIzQzN0RGRiIgcC1pZD0iNjEwOSI+PC9wYXRoPjxwYXRoIGQ9Ik01MTMuMDI0IDIyOS4zNzZoLTc4Ljg0OGw3OC44NDggOTMuMTg0IDc3LjgyNC05My4xODR6TTUxMy4wMjQgNzk0LjYyNGgtNzguODQ4bDc4Ljg0OC05My4xODQgNzcuODI0IDkzLjE4NHoiIGZpbGw9IiM2M0Y3REUiIHAtaWQ9IjYxMTAiPjwvcGF0aD48L3N2Zz4=
  17. // ==/UserScript==
  18.  
  19. function createCountdownMenu(totalMinutes) {
  20.  
  21. var _menuItem = GM_registerMenuCommand("剩余" + totalMinutes + "分钟");
  22. totalMinutes--;
  23.  
  24. const timer = setInterval(function() {
  25. console.log('time-1min')
  26. totalMinutes--;
  27. GM_unregisterMenuCommand(_menuItem)
  28. _menuItem = GM_registerMenuCommand("剩余" + totalMinutes + "分钟");
  29.  
  30. }, 60000);
  31. }
  32.  
  33. const isValidTime = (timeString) => !isNaN(parseFloat(timeString)) && parseFloat(timeString) >= 0;
  34.  
  35. const menuItem = GM_registerMenuCommand("开始计时", function() {
  36. swal("请输入合法倒计时时间", {
  37. content: "input",
  38. })
  39. .then((totalMinutes) => {
  40. swal(`确定是该时间吗,确定后将无法更改 : ${totalMinutes}`,
  41. {
  42. buttons: {
  43. cancel: true,
  44. confirm: true,
  45. },
  46. }
  47. ).then(()=>{
  48. console.log(totalMinutes)
  49. if(isValidTime(totalMinutes)){
  50. GM_unregisterMenuCommand(menuItem)
  51. createCountdownMenu(totalMinutes)
  52. totalMinutes=parseFloat(totalMinutes)
  53. setTimeout(()=>{
  54. window.location.href='about:blank'
  55. },totalMinutes*60000)
  56. setTimeout(()=>{
  57. swal(`时间仅剩1/5 ${totalMinutes/5}min`)
  58. },totalMinutes*60000/5*4)
  59.  
  60. }
  61. else{
  62. swal('时间仅能为正数',"error")
  63. return
  64. }
  65. }
  66. )
  67. });
  68.  
  69. });
  70.  
  71.  
  72.  

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址