Se connecter

Communauté

Sujet : SpawnBadges : recevez de nouveaux badges
Pseudo supprimé
Niveau 10
09 janvier 2016 à 11:52:45

J'aimerais bien avoir le symbole Saphir, je l'attend depuis longtemps. :noel:

Joue
Niveau 10
09 janvier 2016 à 11:53:54

Le badge émeraude sur mon principal. :bave:

:cute:

Fushie
Niveau 10
09 janvier 2016 à 12:09:27

Tu peux rajouter une ligne pour celui là :hap:
https://m.jeuxvideo.com/img/badges/256px/badge-moderateur.png

Libg
Niveau 10
09 janvier 2016 à 14:01:09

Osef des badges au pire. :( :malade:

gtamissions81
Niveau 10
09 janvier 2016 à 14:26:29

Non.

Daring-Do
Niveau 10
09 janvier 2016 à 14:30:28

Fushie :
Tu peux rajouter une ligne pour celui là :hap:
https://m.jeuxvideo.com/img/badges/256px/badge-moderateur.png

Je veux bien, mais pour voir si ça marche, il faudrait que je sois modo :hap:

Je pourrais essayer un truc (comme ouvrir dans une iframe le 103 pour voir s'il s'affiche bien), mais seuls les modos pourraient tester ça :(

Fushie
Niveau 10
09 janvier 2016 à 15:28:06

On croit en toi

Daring-Do
Niveau 10
09 janvier 2016 à 16:06:10

Un d'entre vous est-il modo, pour tester ça ? :hap:

En plus, cela ne marcherait que pour sa propre CDV. :(

Je ne vois pas comment on pourrait le vérifier pour des pseudos autre que celui actuellement utilisé.

gtamissions81
Niveau 10
09 janvier 2016 à 16:09:47

J'arrive pas sur Chrome...

Daring-Do
Niveau 10
09 janvier 2016 à 16:21:48

Exemple de pseudo qui ne marche pas ?

Overice
Niveau 10
09 janvier 2016 à 17:02:50

Merci :noel:

Daring-Do
Niveau 10
09 janvier 2016 à 17:12:18

Tierf :

Daring-Do :

Un d'entre vous est-il modo, pour tester ça ? :hap:

En plus, cela ne marcherait que pour sa propre CDV. :(

Je ne vois pas comment on pourrait le vérifier pour des pseudos autre que celui actuellement utilisé.

En listant les pseudos de modérateurs, demande aux admins. [[sticker:p/1kki]]

Liste non dynamique + flemme de demander + pas sûr qu'ils le feraient. :hap:

Fushie
Niveau 10
09 janvier 2016 à 18:28:05

Le 09 janvier 2016 à 17:12:18 Daring-Do a écrit :

Tierf :

Daring-Do :

Un d'entre vous est-il modo, pour tester ça ? :hap:

En plus, cela ne marcherait que pour sa propre CDV. :(

Je ne vois pas comment on pourrait le vérifier pour des pseudos autre que celui actuellement utilisé.

En listant les pseudos de modérateurs, demande aux admins. [[sticker:p/1kki]]

Liste non dynamique + flemme de demander + pas sûr qu'ils le feraient. :hap:

Je suis modo je peux t'aider

gtamissions81
Niveau 10
09 janvier 2016 à 18:31:25

lol

Daring-Do
Niveau 10
09 janvier 2016 à 19:39:25

@Fushie: installe le script ci-dessous, ouvre la Console de ton navigateur (F12 et clique sur l'onglet correspondant), ouvre ton propre profil et dis-moi ce qui apparaît au bout de 10 secondes dans la Console.

// ==UserScript==
// @name         SpawnBadges
// @namespace    CrazyJeux/Daring-Do
// @version      1
// @description  Affiche les badges dans les profils selon le nombre de messages actuel
// @author       CrazyJeux/Daring-Do
// @match        *://*.jeuxvideo.com/*
// @grant        none
// ==/UserScript==

var isCalled = false;

function unique() {
	function updateBadgesScript() {        
        var badges = [
            {
                name: "carton",
                points: 0
            },
            {
                name: "bronze",
                points: 50
            },
            {
                name: "argent",
                points: 200
            },
            {
                name: "or",
                points: 1000
            },
            {
                name: "rubis",
                points: 10000
            },
            {
                name: "saphir",
                points: 30000
            },
            {
                name: "emeraude",
                displayedName: "Émeraude",
                points: 75000
            },
            {
                name: "diamant",
                points: 150000
            }
        ];
        
        var url = document.location.href;
        if (url.indexOf("jeuxvideo.com/profil/") < 0 || url.indexOf("?mode=infos") < 0) {
            return;
        }
        
        var $currentUserNicknameArea = $(".nom-head-avatar");
        var $profileNicknameArea = $(".infos-pseudo h1");
        if ($profileNicknameArea.length === 0) {
            return;
        }
        if ($currentUserNicknameArea.length > 0 && $currentUserNicknameArea.text().trim().toLowerCase() === $profileNicknameArea.text().trim().toLowerCase()) {
            var url103 = "http://www.jeuxvideo.com/forums/0-103-0-1-0-1-0-forum-des-moderateurs.htm";
            
            console.log("check if modo with iframe");
            var startIframe = performance.now();
            
            var isModo = false;

            var handleResponseFrom103 = function (e) {
                if (e.origin.indexOf('jeuxvideo.com') < 0) {
                    return;
                }
                if (e.data.hasOwnProperty("response")) {
                    console.log("Iframe loaded successfully in " + (performance.now() - startIframe) + " ms.");
                    isModo = JSON.parse(e.data.response);
                    if (isModo === true) {
                        $listeHautsFaits.prepend('<img src="/img/badges/64px/badge-moderateur.png" alt="Modérateur" title="Modérateur">');
                    }
                    iframe103.remove();
                    window.removeEventListener("message", handleResponseFrom103, false);
                    console.log("iframe isModo="+isModo);
                }
            };

            window.addEventListener("message", handleResponseFrom103, false);

            var iframe103 = document.createElement("iframe");
            iframe103.onload = function () {
                iframe103.contentWindow.postMessage({'isModo': true}, 'http://www.jeuxvideo.com');
            };
            iframe103.style.display = "none";
            document.body.appendChild(iframe103);
            iframe103.src = url103;
            
            console.log("check if modo with ajax");
            var startAjax = performance.now();
            $.ajax({
                type: "GET",
                async: false,
                url: url103,
                timeout: 10000
            }).done(function (data, textStatus, jqXHR) {
                console.log("Ajax loaded successfully in " + (performance.now() - startAjax) + " ms.");
                var html = $.parseHTML(data);
                var $s = $("<div></div>");
                $.each(html, function(i, el) {
                    $s.append(el);
                });
                var $table = $s.find("#table-liste-topic-forum");
                if ($table.length > 0) {
                    isModo = true;
                }
                console.log("ajax isModo="+isModo);
            }).fail(function (jqXHR, textStatus, errorThrown) {
                //...
            });
        }
        
        var $msgsForumText = $(".info-lib").filter(function() {
            return $(this).text().indexOf("Messages Forums :") >= 0;
        });
        if ($msgsForumText.length === 0) {
            return;
        }
        var $listeHautsFaits = $(".liste-hauts-faits");
        if ($listeHautsFaits.length === 0) {
            var $parent = $("#page-profil > div.container.container-content > div.row:nth-child(2) > div.col-md-6:nth-child(1)");
            if ($parent.length === 0) {
                return;
            }
            $parent.append('<div class="bloc-default-profil">'+
                '<div class="header">'+
                '<h2>Badges JeuxVideo.com</h2>'+
                '</div>'+
                '<div class="body hauts-faits">'+
                '<div class="liste-hauts-faits"></div>'+
                '</div>'+
                '</div>');
            $listeHautsFaits = $(".liste-hauts-faits");
        }
        
        $listeHautsFaits.find("img").each(function() {
            var src = $(this).attr("src");
            //console.log("src='"+src+"'");
            if (src.indexOf("badge-rang") >= 0) {
                var rang = src.replace("/img/badges/64px/badge-rang-", "").replace(".png", "");
                var index = null;
                badges.every(function(el, i) {
                    if (el.name === rang) {
                        index = i;
                        return false;
                    }
                    return true;
                });
                if (index !== null) {
                    badges.splice(index, 1);   
                }
            }
        });
        
        var nbMsgs = $msgsForumText.next().text().replace(/( messages?)|\./g, "");
        nbMsgs = parseInt(nbMsgs, 10);
        //console.log("nbMsgs="+nbMsgs);
        
        for (var i=0; i<badges.length; i++) {
            var b = badges[i];
            if (nbMsgs >= b.points) {
                var displayedName;
                if (b.hasOwnProperty("displayedName")) {
                    displayedName = b.displayedName;
                } else {
                    displayedName = b.name.charAt(0).toUpperCase() + b.name.slice(1);
                }
                var newBadge = '<img src="/img/badges/64px/badge-rang-'+b.name+'.png" alt="Rang '+displayedName+'" title="Rang '+displayedName+'">';
                if (displayedName === "Carton") {
                    var $bronze = $listeHautsFaits.find("img[alt='Rang Bronze']");
                    if ($bronze.length === 1) {
                        $bronze.before(newBadge);
                    } else {
                        $listeHautsFaits.append(newBadge);
                    }
                    continue;
                }
                $listeHautsFaits.append(newBadge);
            }
        }
    }

	function callMe() {		
		var script = document.createElement("script");
		script.type = "text/javascript";
		script.innerHTML = "(function(){ " + updateBadgesScript.toString() + " updateBadgesScript();})();";
		document.body.appendChild(script);
	}

    if (isCalled) {
        return;
    }
    isCalled = true;
    
	callMe();

	//Respeed
	addEventListener('instantclick:newpage', callMe);
}

function inIframe() {
	try {
		return window.self !== window.top;
	} catch (e) {
		return true;
	}
}

if (inIframe()) {
    var handleResponseFromProfileJVC = function (e) {
        if (e.origin !== 'http://www.jeuxvideo.com') {
            return;
        }

        if (e.data.hasOwnProperty("isModo")) {
            var res = false;
            var table = document.querySelector("#table-liste-topic-forum");
            if (table !== null) {
                res = true;
            }
            e.source.postMessage({response: res}, 'http://www.jeuxvideo.com');
        }
    };

    window.addEventListener("message", handleResponseFromProfileJVC, false);
} else {
    document.addEventListener('DOMContentLoaded', unique, false);
    window.addEventListener('load', unique, false);
}
gtamissions81
Niveau 10
09 janvier 2016 à 19:42:17

:(

Fushie
Niveau 10
09 janvier 2016 à 20:24:32

Daring-Do y'a une couille sous Chrome je ne peux plus activer SpawnBadges

Daring-Do
Niveau 10
09 janvier 2016 à 20:26:21

Sois plus précis, stp. Par "activer", tu entends quoi ? Activer/désactiver le script en cliquant sur l'icône de Tampermonkey puis sur celle du script ?

Je n'ai pas de souci de ce côté-là :( Et le script marche bien sous ma version de Chrome (la dernière : 47.0.2526.106 m).

Fushie
Niveau 10
09 janvier 2016 à 20:28:56

Dans mes Extensions Chrome SpawnBadges n'est plus activable (et d'autres personnes ont ce soucis).

Fushie
Niveau 10
09 janvier 2016 à 20:33:32

J'ai testé sous FireFox (SpawnBadges fonctionne) mais aucun résultat en installant le script via la console.

Edit : J'ai réinstallé SB sous Chrome ca fonctionne mais aucun résultat aussi pour ton script.

Sujet : SpawnBadges : recevez de nouveaux badges
   Retour haut de page
Consulter la version web de cette page