您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Ermöglicht das Anpassen der Straßenbreite in Waze über einen Slider
当前为
// ==UserScript== // @name WME Mobile View // @namespace https://greasyfork.org/de/users/863740-horst-wittlich // @version 2015.05.16 // @description Ermöglicht das Anpassen der Straßenbreite in Waze über einen Slider // @author Hiwi234 // @match https://www.waze.com/editor* // @match https://beta.waze.com/editor* // @match https://www.waze.com/*/editor* // @match https://beta.waze.com/*/editor* // @grant none // @license MIT // ==/UserScript== (function() { 'use strict'; // Warte auf die vollständige Initialisierung von Waze function waitForWaze() { if (typeof W === 'undefined' || !W.map) { setTimeout(waitForWaze, 500); return; } if (!W.userscripts) { console.error('Waze Userscript API nicht verfügbar'); return; } initializeWidthAdjuster(); } async function initializeWidthAdjuster() { try { const { tabLabel, tabPane } = W.userscripts.registerSidebarTab("street-width-adjuster"); tabLabel.innerText = 'SW'; tabLabel.title = 'Straßenbreite'; const content = ` <div style="padding: 10px;"> <h4>Straßenbreite Anpasser</h4> <div style="margin: 15px 0;"> <label for="widthSlider">Breite (%) : <span id="widthValue">100</span></label> <input type="range" id="widthSlider" min="50" max="300" value="100" style="width: 100%;"> </div> <div id="status" style="color: green;"></div> </div> `; tabPane.innerHTML = content; // Warte auf DOM-Verbindung await W.userscripts.waitForElementConnected(tabPane); const slider = tabPane.querySelector('#widthSlider'); const valueDisplay = tabPane.querySelector('#widthValue'); const status = tabPane.querySelector('#status'); if (!slider || !valueDisplay) { throw new Error('Slider-Elemente konnten nicht gefunden werden'); } slider.addEventListener('input', (e) => { try { const value = e.target.value; valueDisplay.textContent = value; const segments = W.model.segments.getObjectArray(); let updatedCount = 0; segments.forEach(segment => { const element = W.userscripts.getFeatureElementByDataModel(segment); if (element) { element.style.strokeWidth = `${value/100}em`; updatedCount++; } }); status.textContent = `${updatedCount} Segmente aktualisiert`; status.style.display = 'block'; } catch (error) { console.error('Fehler beim Anpassen der Straßenbreite:', error); status.textContent = 'Fehler beim Anpassen der Straßenbreite'; status.style.color = 'red'; } }); } catch (error) { console.error('Fehler bei der Initialisierung:', error); } } // Starte das Script if (document.readyState === 'complete') { waitForWaze(); } else { document.addEventListener('readystatechange', () => { if (document.readyState === 'complete') { waitForWaze(); } }); } })();