Workona

消除 Workona 弹框

  1. // ==UserScript==
  2. // @name Workona
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.5
  5. // @description 消除 Workona 弹框
  6. // @author wenmin92
  7. // @match https://workona.com/0/*
  8. // @icon https://www.google.com/s2/favicons?sz=64&domain=workona.com
  9. // @grant none
  10. // @license MIT
  11. // @run-at document-end
  12. // ==/UserScript==
  13.  
  14.  
  15. (function () {
  16. 'use strict';
  17.  
  18. console.log('Tampermonkey', '='.repeat(120));
  19. console.log('Amazon图书文件名');
  20. console.log('Tampermonkey', '='.repeat(120));
  21.  
  22. function update() {
  23. console.log('update ws-restore-remind-me');
  24. localStorage.setItem('ws-restore-remind-me', Date.now());
  25. }
  26.  
  27. function autoClick() {
  28. if (document.querySelector('#modal-frame')) {
  29. document.querySelector('#modal-frame button.style-module--btnReveal--1KndE').click();
  30. }
  31. }
  32.  
  33. function init() {
  34. update(); // 首次加载时更新
  35. document.querySelectorAll('[class*=style-module--sparkle--]').forEach(it => { it.style.display = 'none' }); // 移除左侧列表中的星星
  36.  
  37. document.querySelector('[class^=style-module--scroll--]').addEventListener('click', update) // 每次点击时更新
  38. setInterval(update, 1000 * 60 * 60); // 每小时更新一次
  39. autoClick(); // 如果出现modal, 自动点掉
  40.  
  41. console.log('Workona 弹框消除完毕');
  42. }
  43.  
  44. let readyStateCheckInterval = setInterval(function () {
  45. if (document.readyState === "complete" && document.querySelector('[class^=style-module--scroll--]') && document.querySelectorAll('[class*=style-module--sparkle--]')) {
  46. clearInterval(readyStateCheckInterval);
  47. init();
  48. }
  49. }, 20);
  50. })();