Check update for Greasyfork userscript
สคริปต์นี้ไม่ควรถูกติดตั้งโดยตรง มันเป็นคลังสำหรับสคริปต์อื่น ๆ เพื่อบรรจุด้วยคำสั่งเมทา // @require https://update.greasyfork.org/scripts/431490/1080054/GreasyForkScriptUpdate.js
Check for script updates on GreasyFork.org
Just @require
it.
var GFU = new GreasyForkUpdater([metarules]); GFU.checkUpdate(<integer/string>scriptID, <string>currentversion, <function>callback[, <array>args])Arguments:
[<object/null> metarules]
: An object contains property 'singles' and 'multiples'.<array> metarules.singles
: An array includes all metadata keys that its value should be stored directly as a property on metadata object<array> metarules.multiples
: An array includes all metadata keys that its value should always be stored as an item in an array that attached to the metadata object as its property<integer/string> scriptID
: The GreasyFork demical script id. (For example, the scriptID of GreasyForkScriptUpdate is 431490)<string> currentversion
: The current version of your script, you can get it from GM_info.script.version
. It should just contains demical numbers(0123456789) and dots('.'). <function> callback
: The callback function. You will get three arguments while your callback function being called: <bool>update, <string>updateurl, <object>metaData
<bool> update
: Whether there is an update, true/false. <string> updateurl
: The url latest version script. <object> metaData
: An object containing all meta info of the latest script. It should like:{ name: "hello world", version: "0.2", grant: "GM_xmlhttpRequest", connect: ["www.example.com", "example.org"], noframes: true, ... }
[<array> args]
: An arguments list that will be passed to your callback function as the 4th, 5th... argument. It should be an array. Optional.var GFU = new GreasyForkUpdater(); GFU.update(<integer/string>scriptID, <string>currentversion)This will just check whether there is an update of your given script, and automatically (request your script user to) install the latest version if there is. If there is no update, then nothing happends.
Please refer to the source code. I've written the usage of each function.
Be aware that one of GreasyFork's rules for posted scripts is that Scripts must not check for updates at a rate higher than once per day. Note that most user script managers will handle automatic updates, so doing it in the script is unnecessary. Scripts should also not dynamically inject another Greasy Fork-hosted script into a page, as this bypasses caching in user script managers.
. Make sure you won't violate the rules all the time.