[Mountyhall] Sauvegarde Message

Suvegarde locale du message en cas de déconnexion serveur

// ==UserScript==
// @name         [Mountyhall] Sauvegarde Message
// @namespace    Mountyhall
// @description  Suvegarde locale du message en cas de déconnexion serveur
// @author       Dabihul
// @version      0.0.3.0
// @include      */mountyhall/Messagerie/MH_Messagerie.php*
// @grant        none
// ==/UserScript==

// Châïné âccéntùéé põùr fõrcér l'UTF-8

window.console.debug('[Sauvegarde message] ON!');

function getMessage() {
	let node = document.getElementsByName('Message')[0];
	if (!node) {
		window.alert('[Sauvegarde message] Emplacement du message non trouvé');
		return '';
	}
	window.console.debug('[Sauvegarde message] Message sauvegardé:\n', node.value);
	return node.value;
}

function saveMessage(event) {
	window.localStorage['mountyhall.message'] = getMessage();
}

function recallMessage() {
	let message = window.localStorage.getItem('mountyhall.message');
	if (!message) {
		window.alert('[Sauvegarde message] Aucun message trouvé');
		return;
	}
	let node = document.getElementsByName('Message')[0];
	node.value = message;
}

function alterForm() {
	let form = document.evaluate(
		'//form[@name="ComposeMsgForm"]',
		document, null, 9, null
	).singleNodeValue;
	if (!form) {
		window.alert('[Sauvegarde message] Formulaire de messagerie non trouvé');
		return;
	}
	form.addEventListener('submit', saveMessage, true);
}

function addBoutonRappel() {
	let messageTd = document.evaluate(
		'//label[@for="Message"]/..',
		document, null, 9, null
	).singleNodeValue;
	if (!messageTd) {
		window.alert('[Sauvegarde message] TD "Message" non trouvé');
		return;
	}
	let bouton = document.createElement('input');
	bouton.type = 'button';
	bouton.value = 'Rappeler';
	bouton.style = 'display:block;';
	bouton.className = 'mh_form_submit';
	bouton.onclick = recallMessage;
	messageTd.appendChild(bouton);
}

const UrlParams = new URLSearchParams(window.location.search);
if (UrlParams.get('cat') && UrlParams.get('cat') == 3) {
	alterForm();
	addBoutonRappel();
}

window.console.debug('[Sauvegarde message] OFF!');
长期地址
遇到问题?请前往 GitHub 提 Issues,或加Q群1031348184

赞助商

Fishcpy

广告

Rainyun

一年攒够 12 元

云驰互联

云驰互联