Bonjour !

J'utiliser un Plugin de Slider sous Wordpress, et celui ne s'affiche pas correctement pour cause d'une erreur javascript. Je tiens juste à préciser que je ne m'y connais pas du tout en js. Dans le panel d'administration, mon slider qui fonctionne très bien devrait ressembler à ça :

http://evolutiongraph.fr/chevereto/images/2014/07/31/aLq1R.jpg

Mais seul le texte vierge s'affiche. Je vais donc dans les sources pour voir d'où vient le problème, et la console me signale une erreur dans le JS généré par le plugin.

http://evolutiongraph.fr/chevereto/images/2014/07/31/mMan8.jpg

Uncaught ReferenceError: MasterSlider is not defined
Quelqu'un peut-il m'aider à résoudre mon problème ?

Merci.

-

15 réponses


antho07
Réponse acceptée

Il faudrait pouvoir voir le code fonctionner quelque part pour investiguer... viens faire un tour sur le teamspeack ou sur l'irc

[22:51:42] <10antho07> !ts
.[22:51:43] * Raton_bot Envie de nous rejoindre pour discuter sur le Serveur Teamspeak non-officiel ?
.[22:51:43] * Raton_bot IP de connexion : grafikart-vocal.tk || Télécharger le client TeamSpeak? => http://teamspeak.com/?page=downloads

Kamel38
Auteur
Réponse acceptée

Le problème était dû à certains fichiers JS/CSS non chargés par le plugin, on les a donc chargé manuellement. Merci antho !

Bonjour,

l'erreur provient du fait que l'objet MasterClass n'est pas connu à l'endroit et au moment ou tu l'appeles?

Investigation à mener sur l'ordre des scripts, les isolations jquery etc..

Kamel38
Auteur

Merci d'avoir répondu ! :D
C'est tout de même étrange puisque le script est chargé juste sous l'HTML généré par le plugin : http://evolutiongraph.fr/chevereto/images/2014/08/02/001jw.jpg

Et en plus de cela, jQuery est le premier script chargé dans mon <head> :/

L'erreur est clair,
l'objet n'existe pas à cet endroit .
Est-il disponible dans la console js ?
ça sera déjà une première piste

Kamel38
Auteur

Euhh...je ne m'y connais pas du tout en javascript. Comment savoir si il est disponible dans la console ?

tu ouvre la console javascript (avec chrome f12 puis console) et tu tapes toto = new MasterSlider()

Kamel38
Auteur

Très bien, en taper cela il me sort l'erreur : ReferenceError: MasterSlider is not defined

alors soit l'objet ne s'appelle pas comme ça, soit il y a un problème de portée de la variable.

il y a-til un endroit ou l'on peut voir l'ensemble du code javascriipt ?

Kamel38
Auteur

Bien sûr, voici le code Javascript généré par le plugin :

<script>
        (function ( $ ) {
            "use strict";
            $(function () {
                var masterslider_e7b6 = new MasterSlider();
                // slider controls

                // slider setup
                masterslider_e7b6.setup("MS53de2fe67e7b6", {
                        width : 1920,
                        height : 500,
                        space : 0,
                        start : 1,
                        grabCursor : true,
                        swipe : true,
                        mouse : true,
                        layout : "fullwidth", 
                        wheel : false,
                        autoplay : false,
                        instantStartLayers:false,
                        loop : false,
                        shuffle : false,
                        preload : 0,
                        heightLimit : true,
                        autoHeight : false,
                        smoothHeight : true,
                        endPause : false,
                        overPause : true,
                        fillMode : "fill", 
                        centerControls : true,
                        layersMode : "center", 
                        hideLayers : false, 
                        fullscreenMargin: 0,
                        speed : 20, 
                        dir : "h", 
                        parallaxMode : 'swipe',
                        view : "basic"
                });

                $("head").append( "<link rel='stylesheet' id='ms-fonts' href='http://fonts.googleapis.com/css?family=Exo+2:600,regular|Open+Sans:300' type='text/css' media='all' />" );
                window.masterslider_instances = window.masterslider_instances || {};
                window.masterslider_instances"2_e7b6"] = masterslider_e7b6;
             });

        })(jQuery);
        </script>

Il faudrait pouvoir tester tous le code js , là on a toujours le même problème, l'objet n'existe pas, ce qu'il y a après ne s'éxécute même pas ç cause de l'erreur

Kamel38
Auteur

Et comment tester tout le code JS ? Penses-tu qu'il y ait un moyen de régler mon problème ? :/

Soit de mettre ça en ligne quelque part pour que je regarde,

je viens de regarder un peu est ce que tu peux regarder si

toto = new window.MasterSlider();

renvoit une erreur aussi ?

inspecte le code html de la page, y-a-t-il une iframe?

Kamel38
Auteur

Malheureusement je ne peux pas le mettre en ligne tout de suite :/
J'ai entré ça et il me renvois l'erreur : TypeError: undefined is not a function
Non, il n'y a aucune Iframe.

Kamel38
Auteur

Je désespère de trouver un jour une solution :/
J'essais de comparer le mien avec le même slider sur un site qui fonctionne, mais le JS reste le même....