自用工具库
目前為
此腳本不應該直接安裝,它是一個供其他腳本使用的函式庫。欲使用本函式庫,請在腳本 metadata 寫上: // @require https://update.cn-greasyfork.org/scripts/445645/1055009/mws.js
var mws = new class {
sleep(milliseconds) {
return new Promise(resolve => {
setTimeout(() => { resolve(); }, milliseconds);
});
}
async _Step(selector, callback, need_content, timeout) {
while (timeout--) {
if (document.querySelector(selector) === null) {
await this.sleep(100);
continue;
} else {
if (need_content) {
if (document.querySelector(selector).innerText.length == 0) {
await this.sleep(100);
continue;
}
}
}
break;
}
callback(selector);
}
wait(selector, need_content = false, timeout = Infinity) {
return new Promise(resolve => {
this._Step(selector, function (selector) { resolve(document.querySelector(selector)); }, need_content, timeout);
});
}
}();