MyEd Keeper

refresh MyEd!!!! to make it keep logging in

  1. // ==UserScript==
  2. // @name MyEd Keeper
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.1
  5. // @description refresh MyEd!!!! to make it keep logging in
  6. // @author ljtd8
  7. // @match https://www.myed.ed.ac.uk/myed-progressive/
  8. // @icon https://www.google.com/s2/favicons?sz=64&domain=ed.ac.uk
  9. // @grant none
  10. // @license MIT
  11. // ==/UserScript==
  12.  
  13. (function() {
  14. 'use strict';
  15. // Your code here...
  16. let $btnTest = document.createElement('div')
  17. let $btnSetTime = document.createElement('div')
  18. var inter_time = localStorage.getItem('inter_time')?localStorage.getItem('inter_time'):10000
  19. var inter = window.setInterval(internal_refresh, inter_time);
  20.  
  21. function internal_refresh(){
  22. if('https://www.myed.ed.ac.uk/myed-progressive/#/'==location.href || "https://www.myed.ed.ac.uk/myed-progressive/#/student-home"==location.href){
  23. console.log("is here");
  24. _refresh();
  25. }
  26. }
  27.  
  28. function _refresh(){
  29. location.reload();
  30. }
  31.  
  32. function set_internal()
  33. {
  34. inter_time=prompt("set Internal time(ms)",inter_time); // 弹出input框
  35. if (!isNaN(inter_time) && inter_time>=5000) {
  36. window.clearInterval(inter);
  37. localStorage.setItem('inter_time', inter_time);
  38. inter = setInterval(internal_refresh, inter_time);
  39. }
  40. else{
  41. window.alert("inter_time must be more than 5000!!");
  42. inter_time = 5000;
  43. }
  44. }
  45.  
  46. // 添加操作的 dom
  47. function _appendDom() {
  48. const baseStyle = `
  49. position: fixed;
  50. top: 50px;
  51. right: 50px;
  52. height: 40px;
  53. padding: 0 20px;
  54. z-index: 9999;
  55. color: white;
  56. cursor: pointer;
  57. font-size: 16px;
  58. font-weight: bold;
  59. line-height: 40px;
  60. text-align: center;
  61. border-radius: 4px;
  62. background-color: #3498db;
  63. box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.3);
  64. `
  65. $btnTest.innerHTML = 'test'
  66. $btnSetTime.innerHTML = 'set'
  67. $btnTest.style = baseStyle
  68. $btnSetTime.style = baseStyle + `top: 100px;`
  69. $btnTest.addEventListener('click', _refresh)
  70. $btnSetTime.addEventListener('click', set_internal)
  71. document.getElementsByTagName('html')[0].insertBefore($btnTest, document.getElementsByTagName('head')[0]);
  72. document.getElementsByTagName('html')[0].insertBefore($btnSetTime, document.getElementsByTagName('head')[0]);
  73. }
  74.  
  75. _appendDom();
  76.  
  77.  
  78. })();