您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Base class for Greasy Fork镜像 plugins for Waze Map Editor
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.gf.qytechs.cn/scripts/450221/1137043/WME-Base.js
// ==UserScript== // @name WME Base // @version 0.1.3 // @description Base class for Greasy Fork镜像 plugins for Waze Map Editor // @license MIT License // @author Anton Shevchuk // @namespace https://gf.qytechs.cn/users/227648-anton-shevchuk // @supportURL https://github.com/AntonShevchuk/wme-base/issues // @match https://*.waze.com/editor* // @match https://*.waze.com/*/editor* // @exclude https://*.waze.com/user/editor* // @icon https://t3.gstatic.com/faviconV2?client=SOCIAL&type=FAVICON&fallback_opts=TYPE,SIZE,URL&url=https://anton.shevchuk.name&size=64 // @grant none // ==/UserScript== /* jshint esversion: 8 */ /* global jQuery, W */ /* global Settings */ class WMEBase { /** * * @param {String} name * @param {Object} settings */ constructor (name, settings = null) { this.name = name if (settings && settings instanceof Settings) { this.settings = settings } else if (settings) { this.settings = new Settings(name, settings) } else { this.settings = null } jQuery(document) .on('none.wme', (e) => this.onNone(e)) .on('segment.wme', (e, el, t) => this.onSegment(e, el, t)) .on('segments.wme', (e, el, t) => this.onSegments(e, el, t)) .on('node.wme', (e, el, t) => this.onNode(e, el, t)) .on('nodes.wme', (e, el, t) => this.onNodes(e, el, t)) .on('venue.wme', (e, el, t) => this.onVenue(e, el, t)) .on('venues.wme', (e, el, t) => this.onVenues(e, el, t)) .on('point.wme', (e, el, t) => this.onPoint(e, el, t)) .on('place.wme', (e, el, t) => this.onPlace(e, el, t)) .on('residential.wme', (e, el, t) => this.onResidential(e, el, t)) jQuery(window).on('beforeunload', (e) => this.onBeforeUnload(e)) } /** * Log message with prefix * @param {String} message * @param {Array} args */ log (message, ...args) { console.log( '%c' + this.name + ': %c' + message, 'color: #0DAD8D; font-weight: bold', 'color: dimgray; font-weight: normal', ...args ) } /** * Collapsed group message with prefix * @param {String} message * @param {Array} args */ group (message, ...args) { console.groupCollapsed( '%c' + this.name + ': %c' + message, 'color: #0DAD8D; font-weight: bold', 'color: dimgray; font-weight: normal', ...args ) } /** * Just wrapper for console.groupEnd() */ groupEnd() { console.groupEnd() } /** * Handler for window `beforeunload` event * @param {jQuery.Event} event * @return {Null} */ onBeforeUnload (event) { if (this.settings) { this.settings.save() } } /** * Handler for `none.wme` event * @param {jQuery.Event} event * @return {void} */ onNone (event) { } /** * Handler for `segment.wme` event * @param {jQuery.Event} event * @param {HTMLElement} element * @param {W.model} model * @return {void} */ onSegment (event, element, model) { } /** * Handler for `segments.wme` event * @param {jQuery.Event} event * @param {HTMLElement} element * @param {Array} models * @return {void} */ onSegments (event, element, models) { } /** * Handler for `node.wme` event * @param {jQuery.Event} event * @param {HTMLElement} element * @param {W.model} model * @return {void} */ onNode (event, element, model) { } /** * Handler for `nodes.wme` event * @param {jQuery.Event} event * @param {HTMLElement} element * @param {Array} models * @return {void} */ onNodes (event, element, models) { } /** * Handler for `venue.wme` event * @param {jQuery.Event} event * @param {HTMLElement} element * @param {W.model} model * @return {void} */ onVenue (event, element, model) { } /** * Handler for `venues.wme` event * @param {jQuery.Event} event * @param {HTMLElement} element * @param {Array} models * @return {void} */ onVenues (event, element, models) { } /** * Handler for `place.wme` event * @param {jQuery.Event} event * @param {HTMLElement} element * @param {W.model} model * @return {void} */ onPlace (event, element, model) { } /** * Handler for `point.wme` event * @param {jQuery.Event} event * @param {HTMLElement} element * @param {W.model} model * @return {void} */ onPoint (event, element, model) { } /** * Handler for `residential.wme` event * @param {jQuery.Event} event * @param {HTMLElement} element * @param {W.model} model * @return {void} */ onResidential (event, element, model) { } }
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址