11540 sujets

JavaScript, DOM et API Web HTML5

Pages :
(reprise du message précédent)

pidlas a écrit :
Bonjour Felipe,

Merci pour ta réponse. Je n'ai pas encore investigué les logiciels de gestion de contenus. Je fais mes armes pour l'instant avec les langages 'standards' html/css. A ce propos quel tuto, quel site me conseillerais-tu pour avoir une idée que ce que les CMS apportent et surtout comment les intégrer avec un site existant ?


Regarde mon site et imagine que chaque billet est une recette. Smiley cligne

Il y a moyen de changer le /post/ des urls par /recette/ par exemple. Smiley smile
Bonjour,

En fait, un dernier petit test avant de partir pour rapporter que le premier script ne fonctionne plus non plus. Le premier script c'est celui qui affiche les recettes à partir de #menud a.

Si j'ajoute le deuxième plugin pour avoir un affichage par défaut à partir du mois courant obtenu par le get, plus aucune recette ne s'affiche.

Si j'enlève le petit plugin l'affichage des recettes fonctionne correctement à nouveau.

Je suis reparti du code que keran m'a donné pour être sûr du copier/coller et j'arrive à ce dysfonctionnement là.

Désolé keran pour cette mauvaise nouvelle. Sans doute un petit rien qui grippe le tout!!

Je pars maintenant et je reviens vers 16h00.

A toute allure... Smiley smile
a écrit :
Quel moyen je peux mettre en route pour debugger ce plugin et suivre l'évolution des variables tout au long de l'exécution ?


puisque tu utilise firefox, firebug. c'est une extension firefox très compétente pour çà. Une fois installée tu cliques sur le "cafard" en bas à droite et tout le DOM de la page est là. Intéréssant de savoir que çà ne fonctionne pas avec linux. Avec windows c'est nickel y compris pour la classe du mois en cours, code non publié.

a écrit :
Regarde mon site et imagine que chaque billet est une recette


Patience, votre tour viendra peut être Smiley cligne J'ai écrit ce code, je vais le débugger. Smiley lol Ce n'est jamais que du js. En fait, j'ai une autre idée mais je vais bosser, RDV ce soir.
Modifié par keran (15 Mar 2011 - 14:13)
Bonjour Patidou,

Je comprends pas bien. Je ne vois aucun lien pour aller visiter ton site dans ton message. Quand au reste Smiley confus

Bon de retour des courses....

Firebug installé et il me donne une erreur dans la console :

a écrit :
a.split is not a function

a écrit :
var p = a.split('=');


La partie du code impliquée :

a écrit :
while(i--) {
var p = a.split('=');
h[ p[0] ] = r.test( p[1] ) ? decodeURIComponent( p[1] ) : p[1];
}
return h;
}


Ma config : ubuntu + lampserver + firefox.

Du solide pourtant ?! Smiley eek

Cela sonne-t-il les cloches à quelqu'un ?

Une idée Felipe, Patidou, Keran ?

Merci pour votre soutien. Smiley biggrin
Bonjour Patidou, Felipe, Keran, et tous ceux qui veulent bien nous aider,

Je vais faire court car mon précédent post s'est perdu corps et âme.

Après installation de Firebug, j'ai pu lancé l'exécution et constater une erreur dans la console concernant la partie du code ci-dessous :

a écrit :
var i = a.length,
r = /%25/g,
h = {};
while(i--) {
var p = a.split('=');
h[ p[0] ] = r.test( p[1] ) ? decodeURIComponent( p[1] ) : p[1];
}
return h;


Le message d'erreur dans la console est le suivant :
a écrit :
a.split is not a function
var p = a.split('=');


Des idées?!
Ma config : ubuntu + firefox + lampserver

Merci pour votre aide et soutien. Smiley biggrin
pidlas a écrit :

Je comprends pas bien. Je ne vois aucun lien pour aller visiter ton site dans ton message. Quand au reste Smiley confus


Mon site se trouve dans le bouton www en dessous de mes messages. «Quant au reste» je te proposais juste une solution pour te faciliter la vie (donnée également par felipe), mais bon, tu fais comme tu veux hein… Smiley cligne
je n'ai ce message dans ma console. Tu es sur de ton copié/collé?

Par contre, la variable urlMois n'est pas définie. Donc, on rajoutera, comme pour url, avant le switch.


var urlMois = '';
switch ($.Q.mois) {


et là je ne comprend pas tu me colle un bout de code qui ne correspond pas avec ce que j'ai.

var p = a[i].split('=');


moi j'ai çà et toi

var p = a.split('=');


pour un admin éventuel :: çà bugge sérieux l'affichage. je vient de trouver une balise fermante liste, mais ce n'est pas moi qui l'ai mise, promis.[/i]
Modifié par keran (15 Mar 2011 - 19:07)
Impréssionnant ces bugs...

bon, je recommence, si çà ne passe toujours pas je t'enverrai par mail. Je pense avoir trouvé le soucis.

ton code

var p = a.split('=');


le mien

var p = a[i].split('=');
[/i]

et merde! bon, rajoute deux crochets devant le a avec un i à l'intérieur.
Modifié par keran (15 Mar 2011 - 19:16)
Bon, si intérésse quelqu'un. Le bug vient du fait que le i de la décrémentation est supprimé par les scripts du site, il faut donc le rajouter. Il n'est éffectivement présent nulle part et évidement la décrémentation bugge.

a écrit :
Intéréssant de savoir que çà ne fonctionne pas avec linux. Avec windows c'est nickel y compris pour la classe du mois en cours, code non publié.


Rien à voir avec linux donc.
Modifié par keran (15 Mar 2011 - 19:40)
Bonsoir Keran, Bonsoir Patidou,

Oui, milles fois oui. Smiley ravi C'est exactement cela. Dans le copier/coller il manque le i entre crochet après le a et avant le point. Ouf!! Je m'en suis rendu compte en allant sur le lien que tu avais si judicieusement donné. Smiley cligne Un dysfonctionnement du quote ?! Peut être à faire suivre auprès d'un admin. si c'est le cas.

Donc en résumé les deux js fonctionnent parfaitement et correspondent à ce que je cherchais.

SUPER bien joué Keran. Smiley lol

Je m'excuse Patidou si je t'ai choqué car tel n'était pas mon intention. Toutes les aides sont toujours les bienvenues et j'ai apprécié ton message et ton aide. J'irai donc sur ton site pour continuer ma découverte des fonctionnalités évoquées dans ces différents échanges qui se sont soldés très positivement. Smiley lol

Pensez-vous qu'il faille tout remettre dans une réponse et supprimer le fil de discussion ?
Peut-on ajouter quelque part que le problème est résolu ?

Bonne soirée. Smiley cligne
a écrit :
Pensez-vous qu'il faille tout remettre dans une réponse et supprimer le fil de discussion ?


Surtout pas! même si c'est long à lire comme post, il y à un fil d'ariane, notamment pour la résolution de bug. Au départ, je pensais à une incompatibilité linux jusqu'à ce que j'édite un post et trouve une balise i qui n'avait rien à faire là. Et puis il y à un processus à suivre. Pense à celles et ceux qui viendront lire après nous.

et en fait, le bug, il est dans l'algo du bbcode js.

pour résolu, édite ton premier post et ajoute résolu devant le titre.

allez, une ultime finition, pour moi en tout cas. J'espère t'avoir donné envie de découvrir plus avant cette très bonne bibliothèque qu'est jquery, imagine le nombre de lignes qu'il aurait fallu écrire sans elle... Bref, le code pour ajouter la classe active. A ajouter avant le switch, le premier. Et n'oublie pas que maintenant le retour du plugin peu servir à identifié avec certitude, relative, un pékin avide de découverte pourrais la changer, juste pour voir Smiley fache , le default du switch est donc très important, le mois en cours. Tu peux donc l'utilisé ailleurs, comme ici. Le code du plugin gagnerai à être placé dans un fichier à part, ne serait-ce que pour le réutiliser ailleurs. Bon courage et peut être à te relire, te filer la main fut un plaisir.


$('li > a').each(function() {
  if ($(this).attr('title') == $.Q.mois) {
    $(this).addClass('active');
  }
});


et une alternative


$('li > a').each(function() {
  if ($(this).attr('title') == $.Q.mois) {
  //$(this).addClass('active');
  //remplace le lien par un span, puisque la page est déjà chargé
  //inutile de la recharger.
  $(this).replaceWith('<span class="actif">'+$.Q.mois+'</span>');
 }
});

Modifié par keran (15 Mar 2011 - 23:28)
Bonjour Keran,

La cerise sur le gâteau.
Oui je crois que je vais ajouter JQuery à ma panoplie.
Plaisir partagé.
Bonne continuation, bonne journée et à une prochaine. Smiley ravi
Pages :