Greasy Fork is available in English.
Permet de copier les données du deck
当前为
// ==UserScript==
// @name DC - DeckExportData
// @namespace http://tampermonkey.net/
// @version 1.0.0.Alpha
// @description Permet de copier les données du deck
// @author Mochizuki Kaneda Dii Amane [Amane-Mochizuki]
// @match https://www.dreadcast.net/Main
// @match https://dev.dreadcast.eu/Main
// @icon https://www.google.com/s2/favicons?sz=64&domain=dreadcast.net
// @grant none
// @license CC-BY-NC-SA-4.0
// ==/UserScript==
// CC-BY-NC-SA-4.0 https://creativecommons.org/licenses/by-nc-sa/4.0/
var version = "1.0.0.Alpha"
var Global_DeckActif = false
$(document).ajaxSuccess(function (e, xhr, opt) {
if (document.getElementsByClassName("deck_main") != null && Global_DeckActif == false )
{
// alert("deck actif")
console.log("deck : actif")
Global_DeckActif = true
}
});
$(document).ajaxSuccess(function (e, xhr, opt) {
if (document.getElementsByClassName("deck_main") == null && Global_DeckActif == true )
{
console.log("deck : fermé")
Global_DeckActif = false
}
});
$(document).on("keydown", ".ligne_ecriture .texte:enabled", function (event) {
if (event.key === "Enter" ) {
console.log("Entrée détectée !");
var command = document.querySelector(".ligne_ecriture .texte:enabled")
if (command.value == "exportdata"){
console.log("export détecté");
event.preventDefault();
var zoneEcrite = document.querySelector(".zone_ecrit"); // Sélectionne la div principale
if (!zoneEcrite) {
console.log("Aucune zone_ecrite trouvée.");
}
else
{
var buffer = "";
var nbResultat = 0, nbContexte = 0, nbInput = 0;
// Convertir en tableau et parcourir les enfants
Array.from(zoneEcrite.children).forEach(element => {
if (element.classList.contains("ligne_resultat_fixed")) {
buffer += element.innerHTML + "\n";
nbResultat++;
}
if (element.classList.contains("ligne_ecrite_fixed")) {
nbContexte++;
var contexte = element.querySelector("span.contexte")
if (contexte) {
buffer += contexte.textContent + " " // Ajoute le texte du span
}
// Récupérer la valeur de l'input.texte s'il existe
var input = element.querySelector("input.texte")
if (input) {
buffer += input.value + "\n" // Ajoute la valeur de l'input
}
}
});
// Affichage des résultats
console.log("Nombre de .ligne_resultat_fixed:", nbResultat);
console.log("Nombre de .ligne_ecrite_fixed:", nbContexte);
console.log("Nombre de <input type='text'>:", nbInput);
console.log("Contenu du buffer :", buffer);
buffer = buffer.replaceAll("<br>", "\n")
buffer = buffer.replace(/<[^>]*>/g, "");
alert(buffer)
command.value = ""
}
}
}
});