shoo-2

shooshoo

此腳本不應該直接安裝,它是一個供其他腳本使用的函式庫。欲使用本函式庫,請在腳本 metadata 寫上: // @require https://update.cn-greasyfork.org/scripts/547936/1652397/shoo-2.js

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         shoo-2
// @namespace    http://tampermonkey.net/
// @version      0.2.3
// @description  shooshoo
// @author       moomoo
// @match        https://splix.io/
// @icon         https://avatars.githubusercontent.com/u/189983996
// @grant        none
// @run-at       document-start
// ==/UserScript==

await(async function () {
    const currentVersion = '0.2.3'
    const cacheBust = Math.floor(Date.now()/(60*1000)) // 60s
    const latest = (await (await fetch(`https://update.greasyfork.org/scripts/547936/shoo-2.js?v=${cacheBust}`)).text()) //refer to itself without version
    const match = latest.match(/@version\s+([0-9]+\.[0-9]+\.[0-9]+)/);
    const isLatestVersion = match && match[1] === currentVersion;
    if (isLatestVersion){
       console.log('0.2.3');
       // main code here
    } else {
       console.log('recurse to latest version');
       await (new Function("return (async () => { " + latest + " })()"))();
    }
})()