您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Toggle the display of the Torn map controls
当前为
- // ==UserScript==
- // @name Map Controls Hide
- // @namespace https://lazerpent.com
- // @version 1.0
- // @description Toggle the display of the Torn map controls
- // @author Lazerpent
- // @match https://www.torn.com/city.php*
- // @grant none
- // ==/UserScript==
- (function() {
- 'use strict';
- const stateKey = 'hide-controls';
- const style = document.createElement('style');
- style.textContent = `
- .hidden-container .leaflet-control-container {
- display: none;
- }
- `;
- document.head.appendChild(style);
- function injectSwitch() {
- const mapContainer = document.getElementById('map-cont');
- if (mapContainer && !document.getElementById('controls-switcher')) {
- const toggleHTML = document.createElement('div');
- toggleHTML.className = 'territory-info-toggle white-grad border-round m-top10 p10 t-gray-6';
- toggleHTML.innerHTML = `
- <div class="info">
- <span class="inactive-mode hide">
- Enable to hide map controls.
- </span>
- <span class="active-mode">
- Map controls are being hidden.
- </span>
- </div>
- <div class="btn-toggle-wrap torn-switcher">
- <input type="checkbox" id="controls-switcher" switch="" class="active">
- <label for="controls-switcher" data-on-label="on" data-off-label="off"></label>
- </div>`;
- mapContainer.appendChild(toggleHTML);
- const switcher = toggleHTML.querySelector('#controls-switcher');
- const savedState = localStorage.getItem(stateKey);
- const isHidden = savedState === 'true';
- switcher.checked = isHidden;
- applyState(isHidden, mapContainer, toggleHTML);
- switcher.addEventListener('change', function() {
- const newState = this.checked;
- localStorage.setItem(stateKey, newState);
- applyState(newState, mapContainer, toggleHTML);
- });
- }
- }
- function applyState(isHidden, mapContainer, toggleHTML) {
- if (isHidden) {
- mapContainer.classList.add('hidden-container');
- toggleHTML.querySelector('.inactive-mode').classList.add('hide');
- toggleHTML.querySelector('.active-mode').classList.remove('hide');
- } else {
- mapContainer.classList.remove('hidden-container');
- toggleHTML.querySelector('.inactive-mode').classList.remove('hide');
- toggleHTML.querySelector('.active-mode').classList.add('hide');
- }
- }
- const observer = new MutationObserver(function(mutations) {
- mutations.forEach(function(mutation) {
- if (mutation.type === 'childList' || mutation.type === 'subtree') {
- injectSwitch();
- }
- });
- });
- observer.observe(document.body, { childList: true, subtree: true });
- injectSwitch();
- })();