您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Utility methods for DOM and string parsing
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.cn-greasyfork.org/scripts/391979/746751/ParseUtil.js
- // ==UserScript==
- // @name ParseUtil
- // @namespace hoehleg.userscripts.private
- // @version 0.2
- // @description Utility methods for DOM and string parsing
- // @author Gerrit Höhle
- // @grant GM_xmlhttpRequest
- // ==/UserScript==
- /* jshint esnext: true */
- const ParseUtil = {
- getPageAsync: (url, onSuccess, onError = () => {}) => {
- return GM_xmlhttpRequest({
- method: 'GET',
- url: url,
- onload: (resp) => {
- resp.html = new DOMParser().parseFromString(resp.responseText || "", 'text/html');
- switch (resp.status) {
- case 200:
- case 304:
- onSuccess(resp);
- return;
- default:
- onError(resp);
- return;
- }
- },
- onerror: onError
- });
- },
- parseInt: (str, maxIntPlaces = 1, fallbackValue = null) => {
- let regex = "\\d";
- if (maxIntPlaces > 1) {
- regex += "{1," + maxIntPlaces + "}";
- }
- return ParseUtil.parseIntWithRegex(str, new RegExp(regex), fallbackValue);
- },
- parseFloat: (str, maxIntPlaces = 1, maxDecPlaces = 0, fallbackValue = null) => {
- let regex = "\\d";
- if (maxIntPlaces > 1) {
- regex += "{1," + maxIntPlaces + "}";
- }
- if (maxDecPlaces > 0) {
- regex += "\\s?[,\.]?\\s?\\d{0," + maxDecPlaces + "}";
- }
- return ParseUtil.parseFloatWithRegex(str, new RegExp(regex), fallbackValue);
- },
- parseIntWithRegex: (str, regex, fallbackValue = null) => {
- const match = ParseUtil.parseStrWithRegex(str, regex);
- const value = parseInt(match);
- return Number.isNaN(value) ? fallbackValue : value;
- },
- parseFloatWithRegex: (str, regex, fallbackValue = null) => {
- const match = ParseUtil.parseStrWithRegex(str, regex, "").replace(",",".");
- const value = parseFloat(match);
- return Number.isNaN(value) ? fallbackValue : value;
- },
- parseStrWithRegex: (str, regex, fallbackValue = null) => {
- const match = regex.exec(str || "");
- return (match && match.length >= 1) ? match[0] : fallbackValue;
- }
- };