Le profil d'un membre ne charge pas
2 participants
Forum gratuit : Le forum des forums actifs :: Entraide & Support... :: Problème avec un script, un code :: Archives des problèmes avec un code
Page 1 sur 1 • Partagez
Le profil d'un membre ne charge pas
Bonjour à tous et à toutes et bonne année !
Je viens demander votre aide ici car depuis l'arrivé de notre 42ème membre (il fallait bien que ça tombe sur ce nombre et pas un autre ) impossible d'accéder à son profil, celui-ci ne charge pas et personne ne peut le voir. La page charge et charge encore sans aboutir. Le membre peut accéder à l'édition de son profil mais impossible pour lui aussi de le voir. De même nous avons accès à la modification de son profil via le panneau d'administration et en comparant avec tous les autres membres, rien ne change ou ne sort du lot. Nous lui avons également demandé de supprimer sa signature puis son avatar mais rien ne change encore.
Auriez-vous une idée d'où le soucis pourrait venir ? Il n'y a qu'à ce membre que le soucis arrive...
Merci d'avance à tous !
Je viens demander votre aide ici car depuis l'arrivé de notre 42ème membre (il fallait bien que ça tombe sur ce nombre et pas un autre ) impossible d'accéder à son profil, celui-ci ne charge pas et personne ne peut le voir. La page charge et charge encore sans aboutir. Le membre peut accéder à l'édition de son profil mais impossible pour lui aussi de le voir. De même nous avons accès à la modification de son profil via le panneau d'administration et en comparant avec tous les autres membres, rien ne change ou ne sort du lot. Nous lui avons également demandé de supprimer sa signature puis son avatar mais rien ne change encore.
Auriez-vous une idée d'où le soucis pourrait venir ? Il n'y a qu'à ce membre que le soucis arrive...
Merci d'avance à tous !
Re: Le profil d'un membre ne charge pas
Bonjour !
Vous parlez de ce membre sur cette page https://lentrepasse.forumactif.com/u42 ?
En tant qu'invité, la page semble bien se charger en tout cas, est-ce que ça arrive seulement quand on est connecté ? Ou sur un navigateur particulier ?
Vous parlez de ce membre sur cette page https://lentrepasse.forumactif.com/u42 ?
En tant qu'invité, la page semble bien se charger en tout cas, est-ce que ça arrive seulement quand on est connecté ? Ou sur un navigateur particulier ?
Re: Le profil d'un membre ne charge pas
Oui c'est bien ce membre ! Je me sens bête, je n'ai jamais testé en étant déconnectée et effectivement, ainsi ça fonctionne mais pas en étant connectée. Je suis sous chrome, et j'ai testé sous Edge, les deux ne fonctionnent pas.
Re: Le profil d'un membre ne charge pas
J'ai créé un compte sur le forum pour constater directement le problème, c'est beaucoup plus simple et rapide comme ça.
Le problème vient de ce script :
Il y a quelque chose qui ne va pas dans la sélection, le code $profilBadges.find(".field_uneditable").text() sélectionne plus d'éléments qu'il ne le faudrait. Pour l'exemple du user 42, nous obtenons cette chaine de caractères :
On découpe la chaine à chaque caractère ; rencontré, et badgesUser[0] devient donc égal à cette première partie de chaine qui n'est pas un badge. Ça, c'est commun à tous les membres, badgesUser[0] est toujours une chaine de caractère résultant d'une mauvaise sélection. Si c'est ce membre qui fait planter ce script plutôt qu'un autre, ça semble être dû aux caractères spéciaux utilisés dans sa description, parmi [ : / ' ]... je ne saurais pas exactement dire lequel, ou si c'est la combinaison de plusieurs, mais en tout cas, c'est à cause de ça.
Ce qu'on veut sélectionner, nous, c'est juste le .field_uneditable qui contient la liste de badges séparés par des ;. Après vérification dans le code HTML de votre page, il se trouve dans #field_id2. On va donc juste modifier
Ce qui nous permettra d'être plus précis dans la sélection, de ne prendre que la liste des badges et de corriger l'erreur par la même occasion !
Le problème vient de ce script :
- Code:
if (/^\/u\d+$/.test(document.location.pathname)) {
var idPage = "1";
$.get("/h" + idPage + "-", function(data) {
var $badges = $(data).filter("#badges-profil");
$(function() {
var $profilBadges = $("span:contains('Badges obtenus')").closest("tr");
if ($profilBadges.length > 0) {
var badgesUser = $profilBadges.find(".field_uneditable").text().split(";");
if (badgesUser.length > 0) {
for (var i = 0, l = badgesUser.length; i < l; i++) {
if (badgesUser[i].length > 0) {
try {
$badges.find("." + badgesUser[i].trim()).addClass("obtenu")
} catch (e) {
console.log("Système de badge erreur => " + e)
}
}
}
}
}
$(".js-badges-profil").html($badges)
})
})
}
Il y a quelque chose qui ne va pas dans la sélection, le code $profilBadges.find(".field_uneditable").text() sélectionne plus d'éléments qu'il ne le faudrait. Pour l'exemple du user 42, nous obtenons cette chaine de caractères :
25/12/2021222150Not Your eXNow you're just somebody I used to knowKarkat Vantas de HomestuckLa plaineChanteureuse / AventurièreAppareil photo vintage + un walkman [Cassettes: Bruits de baleines / Vulgaires machins / l'OST de Final fantasy VI] + un lampion portatif + un kit pour lampion + une pierre à feuYES PLEASE; bienvenue ; recensement ; picotis ; fiche_liens ; habitation ;
On découpe la chaine à chaque caractère ; rencontré, et badgesUser[0] devient donc égal à cette première partie de chaine qui n'est pas un badge. Ça, c'est commun à tous les membres, badgesUser[0] est toujours une chaine de caractère résultant d'une mauvaise sélection. Si c'est ce membre qui fait planter ce script plutôt qu'un autre, ça semble être dû aux caractères spéciaux utilisés dans sa description, parmi [ : / ' ]... je ne saurais pas exactement dire lequel, ou si c'est la combinaison de plusieurs, mais en tout cas, c'est à cause de ça.
Ce qu'on veut sélectionner, nous, c'est juste le .field_uneditable qui contient la liste de badges séparés par des ;. Après vérification dans le code HTML de votre page, il se trouve dans #field_id2. On va donc juste modifier
- Code:
var badgesUser = $profilBadges.find(".field_uneditable").text().split(";");
- Code:
var badgesUser = $profilBadges.find("#field_id2 .field_uneditable").text().split(";");
Ce qui nous permettra d'être plus précis dans la sélection, de ne prendre que la liste des badges et de corriger l'erreur par la même occasion !
Re: Le profil d'un membre ne charge pas
Oh mille mercis, je n'avais pas eu le courage de passer en revue les détails de tout les codes utilisés dans le profil et je n'avais pas su comment cibler le problème. J'ai juste à l'instant remplacé ce bout de code et ça marche parfaitement !
Les explications étaient limpides et super, encore merci !
Pour informations complémentaires, j'ai pioché ce code sur un code existant en libre service de chez Never Utopia !
C'est tout bon et le code fonctionne, le sujet est résolu
Les explications étaient limpides et super, encore merci !
Pour informations complémentaires, j'ai pioché ce code sur un code existant en libre service de chez Never Utopia !
C'est tout bon et le code fonctionne, le sujet est résolu
Sujets similaires
» La page de profil d'un utilisateur ne charge pas
» Différence entre profil message et profil membre
» Profil membre
» Profil du membre sur AwesomeBB
» Profil membre - statistiques
» Différence entre profil message et profil membre
» Profil membre
» Profil du membre sur AwesomeBB
» Profil membre - statistiques
Forum gratuit : Le forum des forums actifs :: Entraide & Support... :: Problème avec un script, un code :: Archives des problèmes avec un code
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum