Greasy Fork is available in English.
RamisAmuki Utils.
当前为
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.greasyfork.icu/scripts/469263/1209364/RamisAmuki%20Utils.js
// ==UserScript==
// @name RamisAmuki Utils
// @description RamisAmuki Utils.
// @author RamisAmuki
// @version 0.1
// @grant none
// ==/UserScript==
function check_rate_price(liqs, querys, base_rate = 90, base_price = 100) {
const li_rate_node = liqs(querys.rate);
const li_rate = li_rate_node != null ? parseInt(li_rate_node.innerText) : 0;
const li_price = parseInt(liqs(querys.price).innerText.replace(",", ""));
return [li_rate < base_rate, li_price > base_price].every((b) => b);
}
function disabling(li) {
li.style.display = "none";
}
function filter(checker, querys) {
document
.querySelectorAll(querys.lists)
.forEach((li) => checker((q) => li.querySelector(q)) && disabling(li));
}
function appendFilterButton(
checker,
querys,
innerHTML = "Filter",
float = "right",
height = "30px",
color = "#000",
backgroundColor = "#f6dbae",
margin = null
) {
// ボタン要素を作成
let btn = document.createElement("button");
// ボタンを装飾
btn.innerHTML = innerHTML;
btn.style.float = float;
btn.style.height = height;
btn.style.color = color;
btn.style.backgroundColor = backgroundColor;
if (margin != null) btn.style.margin = margin;
// 実行する関数
btn.onclick = () => filter(checker, querys);
// ボタンを追加
document.querySelector(querys.button_parent).appendChild(btn);
}
function waitForElement(selector, callback, intervalMs, timeoutMs) {
const startTimeInMs = Date.now();
findLoop();
function findLoop() {
if (document.querySelector(selector) != null) {
callback();
return;
} else {
setTimeout(() => {
if (timeoutMs && Date.now() - startTimeInMs > timeoutMs) return;
findLoop();
}, intervalMs);
}
}
}