您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Allows a longer list of layers in the map layers menu.
// ==UserScript== // @name Too Many Layers // @namespace https://greasyfork.org/en/scripts/507731-too-many-layers // @version 2024.09.10.001 // @description Allows a longer list of layers in the map layers menu. // @author robosphinx_, callumhume // @match *://*.waze.com/*editor* // @exclude *://*.waze.com/user/editor* // @require https://greasyfork.org/scripts/24851-wazewrap/code/WazeWrap.js // @grant none // @license GPLv3 // ==/UserScript== /* global W */ /* global WazeWrap */ (function main() { 'use strict'; const SCRIPT_LONG_NAME = GM_info.script.name; const SCRIPT_SHORT_NAME = "WME-TML"; const SCRIPT_VERSION = GM_info.script.version; const DISPLAY_LAYER_GROUP_CLASS = '.collapsible-GROUP_DISPLAY'; let successfulStartup = false; function fancyLogMessage(tag, message) { if (tag == "ERROR") { console.error(SCRIPT_SHORT_NAME + ": " + tag + ": " + message); } else { console.log(SCRIPT_SHORT_NAME + ": " + tag + ": " + message); } } function embiggenTheList() { // Heirarchy follows // ID layer-switcher-region // class layer-switcher // class menu // class scrollable // class list-unstyled togglers // class group // class collapsible-GROUP_DISPLAY try { fancyLogMessage("INFO", "Looking for display layer group..."); let displayGroup = document.querySelector(DISPLAY_LAYER_GROUP_CLASS); // Grab element by class name, not ID if (displayGroup != null) { fancyLogMessage("INFO", "Found display layer group: " + displayGroup); displayGroup.style.setProperty('max-height', 'fit-content'); successfulStartup = true; } else { fancyLogMessage("ERROR", "Could not find element with class " + DISPLAY_LAYER_GROUP_CLASS); successfulStartup = false; } } catch (err) { fancyLogMessage("ERROR", "Looking for display group returned error " + err); successfulStartup = false; } }; function init() { fancyLogMessage("INFO", SCRIPT_LONG_NAME + " " + SCRIPT_VERSION + " started"); embiggenTheList(); if (successfulStartup) { fancyLogMessage("INFO", SCRIPT_LONG_NAME + " initialized!"); } else { fancyLogMessage("ERROR", SCRIPT_LONG_NAME + " could not initialize."); } } function onWmeReady() { if (WazeWrap && WazeWrap.Ready) { init(); } else { setTimeout(onWmeReady, 100); } } function bootstrap() { if (typeof W === 'object' && W.userscripts?.state.isReady) { onWmeReady(); } else { document.addEventListener('wme-ready', onWmeReady, { once: true }); } } bootstrap(); })();