FANDOM


Le script SpoilerAlert sert à cacher le contenu d'une page contenant des spoilers (des informations « capitales » sur l'histoire d'un jeu, d'un film... pouvant gâcher le plaisir de la découverte). Le script demande au visiteur s'il souhaite voir le contenu de la page, puis, si le visiteur souhaite voir la page, le message s'efface, dévoilant la page, ou laisse la page blanche si le visiteur indique ne pas souhaiter voir cette page. Ce script utilise un cookie servant à ce que le message ne s'affiche pas à nouveau si une personne a indiqué vouloir voir une page.

Une démonstration du script (en anglais) peut être vue ici.

InstallationModifier

Ajoutez simplement cette ligne à votre MediaWiki:Common.js.

importScriptPage('SpoilerAlert/code.js', 'dev');

DéclenchementModifier

Par défaut ce script s'active lorsque le mot « spoiler » fait partie du nom de la page.

La script également se déclencher d'autres manières :

Si un élément de la page possède la classe CSS .isSpoiler,

SpoilerAlert = {
    isSpoiler: function () {
        return Boolean($('.spoiler').length);
    }
};
importScriptPage('SpoilerAlert/code.js', 'dev');

Si la page fait partie de la catégorie Spoiler,

SpoilerAlert = {
    isSpoiler: function () {
        return -1 !== wgCategories.indexOf('Spoiler');
    }
};
importScriptPage('SpoilerAlert/code.js', 'dev');

Ou si un titre de niveau 2 possède le mot Spoiler

SpoilerAlert = {
    isSpoiler: function () {
        var h2s = document.getElementsByTagName('h2');
        for (var i = 0, c = h2s.length; i < c; i++) {
            if (/spoiler/i.test($(h2s[i]).text())) return true;
        }
        return false;
    }
};
importScriptPage('SpoilerAlert/code.js', 'dev');

FrançaisModifier

Par défaut le script est en anglais, mais il est préférable pour des wikis français que la question soit posée en français.

Cet exemple traduit le message en français et active le script lorsque la page fait partie de la catégorie « Spoiler » :

SpoilerAlert = {
    question: 'Cette page contient des spoilers (informations dévoilant l\'intrigue d\'une œuvre). Êtes-vous sûr(e) de vouloir la lire ?',
    yes: 'Oui',
    no: 'Non, pas maintenant',
    isSpoiler: function () {
        return -1 !== wgCategories.indexOf('Spoiler');
    }
};
importScriptPage('SpoilerAlert/code.js', 'dev');

LienModifier

Sauf mention contraire, le contenu de la communauté est disponible sous licence CC-BY-SA .