您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Réactive les smileys animés sur le forum jeuxvideo.com
// ==UserScript== // @name JVC Smiley animés // @namespace https://violentmonkey.github.io/ // @version 1.3.4 // @description Réactive les smileys animés sur le forum jeuxvideo.com // @author HulkDu92 // @match https://www.jeuxvideo.com/* // @homepageURL https://github.com/reborn12345/jvc-smileys // @supportURL https://github.com/reborn12345/jvc-smileys/issues // @grant none // @license MIT // ==/UserScript== (function() { 'use strict'; const smileyBaseURL = "https://jvc-smileys.pages.dev/smileys/" // URL des smileys animés Cloudflare Page const smileyCache = new Map(); // Mapping des codes des smileys avec leur nom de fichier équivalent // Commenter les smileys pas animés de base const smileyMap = { // ":)": "1", // ":question:": "2", // ":g)": "3", // ":d)": "4", // ":cd:": "5", ":globe:": "6", // ":p)": "7", // ":malade:": "8", // ":pacg:": "9", // ":pacd:": "10", // ":noel:": "11", // ":o))": "12", // ":snif2:": "13", // ":-(": "14", // ":-((": "15", // ":mac:": "16", ":gba:": "17", // ":hap:": "18", // ":nah:": "19", // ":snif:": "20", // ":mort:": "21", ":ouch:": "22", ":-)))": "23", ":content:": "24", ":nonnon:": "25", ":cool:": "26", ":sleep:": "27", ":doute:": "28", // ":hello:": "29", ":honte:": "30", ":-p": "31", ":lol:": "32", ":non2:": "33", ":monoeil:": "34", ":non:": "35", ":ok:": "36", ":oui:": "37", // ":rechercher:": "38", ":rire:": "39", // ":-D": "40", ":rire2:": "41", // ":salut:": "42", ":sarcastic:": "43", // ":up:": "44", // ":(": "45", // ":-)": "46", // ":peur:": "47", // ":bye:": "48", ":dpdr:": "49", // ":fou:": "50", // ":gne:": "51", // ":dehors:": "52", // ":fier:": "53", // ":coeur:": "54", // ":rouge:": "55", // ":sors:": "56", // ":ouch2:": "57", // ":merci:": "58", // ":svp:": "59", // ":ange:": "60", // ":diable:": "61", // ":gni:": "62", // ":spoiler:": "63", // ":hs:": "64", // ":desole:": "65", ":fete:": "66", // ":sournois:": "67", // ":hum:": "68", ":bravo:": "69", ":banzai:": "70", ":bave:": "71", // ":ddb:": "ddb", // ":fish:": "fish", ":cimer:": "cimer", ":hapoelparty:": "hapoelparty", ":loveyou:": "loveyou", ":cute:": "nyu", // ":objection:": "objection", // ":pf:": "pf", ":play:": "play", // ":siffle:": "siffle" }; function restaurerSmileys() { // Sélectionner tous les smileys avec data-code non encore traités document.querySelectorAll('img[data-code]:not([data-jvsmileys-processed])').forEach(img => { const code = img.getAttribute('data-code'); // Récupère le code du smiley (ex. : `:rire:`) if (!code) return; // Cherche le smiley dans le mapping const smileyFileName = smileyMap[code]; if (smileyFileName) { // Crée l'URL du smiley animé const smileyURL = `${smileyBaseURL}${smileyFileName}.gif`; if (smileyCache.has(smileyURL)) { // Si déjà validé, remplace directement img.src = smileyURL; img.setAttribute('data-jvsmileys-processed', true); return; } img.src = smileyURL; img.setAttribute('data-jvsmileys-processed', true); // Marque comme traité smileyCache.set(smileyURL, true); } }); } // Exporter la fonction restaurerSmileys window.restaurerSmileys = restaurerSmileys; // Initial replacement restaurerSmileys(); const observer = new MutationObserver(restaurerSmileys); observer.observe(document.body, { childList: true, subtree: true }); })();