Workona

消除 Workona 弹框

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

You will need to install an extension such as Tampermonkey to install this script.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name         Workona
// @namespace    http://tampermonkey.net/
// @version      0.5
// @description  消除 Workona 弹框
// @author       wenmin92
// @match        https://workona.com/0/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=workona.com
// @grant        none
// @license      MIT
// @run-at       document-end
// ==/UserScript==


(function () {
    'use strict';

    console.log('Tampermonkey', '='.repeat(120));
    console.log('Amazon图书文件名');
    console.log('Tampermonkey', '='.repeat(120));

    function update() {
        console.log('update ws-restore-remind-me');
        localStorage.setItem('ws-restore-remind-me', Date.now());
    }

    function autoClick() {
        if (document.querySelector('#modal-frame')) {
            document.querySelector('#modal-frame button.style-module--btnReveal--1KndE').click();
        }
    }

    function init() {
        update(); // 首次加载时更新
        document.querySelectorAll('[class*=style-module--sparkle--]').forEach(it => { it.style.display = 'none' }); // 移除左侧列表中的星星

        document.querySelector('[class^=style-module--scroll--]').addEventListener('click', update) // 每次点击时更新
        setInterval(update, 1000 * 60 * 60); // 每小时更新一次
        autoClick(); // 如果出现modal, 自动点掉

        console.log('Workona 弹框消除完毕');
    }

    let readyStateCheckInterval = setInterval(function () {
        if (document.readyState === "complete" && document.querySelector('[class^=style-module--scroll--]') && document.querySelectorAll('[class*=style-module--sparkle--]')) {
            clearInterval(readyStateCheckInterval);
            init();
        }
    }, 20);
})();