La Chatbox ne descend pas aux nouveaux messages.

Voir le sujet précédent Voir le sujet suivant Aller en bas

Résolu La Chatbox ne descend pas aux nouveaux messages.

Message par Dranyem le Dim 7 Juin 2015 - 22:18

Détails techniques


Version du forum : phpBB3
Poste occupé : Administrateur
Navigateur(s) concerné(s) : Mozilla Firefox, Google Chrome, Internet Explorer, Autre
Personnes concernées par le problème : Tous les utilisateurs
Lien du forum : http://reignofdynasties.forumactif.org/

Description du problème

Bonjour à toutes et à tous !

Bon mon titre est peut être un peu compliquer à comprendre, alors je m'explique mieux : lorsqu'un nouveau message arrive sur la Chatbox, cette dernière ne descend pas, c'est à dire que pour voir le message on est obligé de descendre nous même avec la molette ou la barre latérale, ce qui dérange les membres du forum.
Il faut savoir que c'est une chatbox latérale qui est liée à 4 codes javascripts que voici :

Le premier pour la chatbox latérale :
script chatbox latérale:
jQuery(document).ready(function () {
jQuery('body').append('<table style="position: fixed; bottom: 50px; left: 0px;background-color: transparent;z-index:10000;"><tr><td><div id="panneau" scrolling="no" style="width: 800px; height: 400px; display: none;" marginwidth="0" marginheight="0" frameborder="0"><iframe src="/chatbox/index.forum?page=front" style="width: 800px; height: 400px;" ></iframe></div></td><td style="vertical-align: bottom;"><img src="http://image.noelshack.com/fichiers/2015/22/1432652828-chatboxouvrir2.png" onClick="document.getElementById(\'panneau\').style.display=(this.src==\'http://image.noelshack.com/fichiers/2015/22/1432652828-chatboxouvrir2.png\')?\'block\':\'none\';this.src=(this.src==\'http://image.noelshack.com/fichiers/2015/22/1432652828-chatboxouvrir2.png\')?\'http://image.noelshack.com/fichiers/2015/22/1432652827-chatboxfermer2.png\':\'http://image.noelshack.com/fichiers/2015/22/1432652828-chatboxouvrir2.png\';"/></td></tr></table>');
});

Le second pour avoir des notifications visuelle à l'arrivée d'un nouveau message :
Script notification visuelle:
window.localStorage && $(window).load(function() {
var chatbox_script = function() {
var t_icon = window.top.$.find('link[rel="shortcut icon"]')[0];
var t_doc = window.top.document;
var title = t_doc.title;
var icon = t_icon.getAttribute('href');

var rep_title = '!! Nouveau message !! '+title;
var rep_icon = 'http://illiweb.com/fa/fdf/al.ico';

$(window).on("focus", function(){ localStorage.cb_blurred='' }).on("blur", function(){ localStorage.cb_blurred=1; });
var overrided = Chatbox.prototype.refresh;
Chatbox.prototype.refresh = function(data) {
if (data.messages && data.messages.length) {
var lm = data.messages.slice(-1)[0];
var last_message = lm.time+','+lm.action+','+lm.msg;
if(this.last_message != last_message) {
var user = $.grep(data.users, function(v){return v.id==chatbox.userId});
user = user.length ? user[0] : [{}];
if(this.last_message!==undefined) {
if(lm.userId!=chatbox.userId && user.username!=lm.username) {
if(localStorage.cb_blurred) (function(){
var blink = function(){
if(title == t_doc.title) {
if(!localStorage.cb_blurred) return;
var new_title = rep_title;
var new_icon = rep_icon;
} else {
var new_title = title;
var new_icon = icon;
}
t_doc.title = new_title;
var new_t_icon = t_icon.cloneNode(true);
new_t_icon.setAttribute('href', new_icon);
var t_icon_parent = t_icon.parentNode;
t_icon_parent.removeChild(t_icon);
t_icon_parent.appendChild(new_t_icon);
t_icon = new_t_icon;
setTimeout(blink, 500);
};
blink();
})();
} else {
localStorage.cb_blurred='';
}
}
this.last_message = lm;
}
}
overrided.call(this, data);
};
};
var s=document.createElement('script');s.text="("+chatbox_script.toString()+")();";$('object[data^="/chatbox/index.forum"],iframe[src^="/chatbox/index.forum"]').each(function(){try{$(this.contentDocument||this.contentWindow.document).find("#chatbox").closest("html").find("head").first().each(function(){this.appendChild(s.cloneNode(true))})}catch(a){}})
});

Le troisième pour avoir une notification sonore à l'arrivée d'un nouveau message :
Script notification sonore:
window.localStorage && $(window).load(function() {
var chatbox_script = function() {
var sounds = {
'future': 'http://illiweb.com/fa/fdf/future.mp3',
'hal': 'http://illiweb.com/fa/fdf/hal.mp3',
'secret': 'http://illiweb.com/fa/fdf/secret.mp3',
'zelda': 'http://sd-g1.archive-host.com/membres/up/47e5f0632190bfb9dcbc52357a2e0feca4a5fbb2/Son_chatbox_forumactif.mp3'
};
var default_sound = sounds['zelda'];
var default_freq = 'new';
var default_when = 'once';
var default_volume = 100;


if(localStorage.cb_sound && !localStorage.cb_sound.indexOf('https://dl.dropboxusercontent.com/u/181621985/')) localStorage.removeItem('cb_sound');
var a = document.createElement('audio');
if(!a.canPlayType) return;
a.volume = Math.min(1, Math.max(0, localStorage.cb_volume||(default_volume/100)));

var origin_send = Chatbox.prototype.send;
Chatbox.prototype.send = function(params) {
var m = $.trim($("#message").val());
if(m.indexOf('/sound')&&m.indexOf('/soudn'))
return origin_send.call(this, params);
m = $.trim(m.substr(6)).split(/\s+/,3);
var bad_apple = false;
switch(m[0].toLowerCase()) {
case "":
if(!a.src) {
a.src = localStorage.cb_sound||default_sound;
a.load();
}
a.play();
break;
case "all":
case "new":
localStorage.cb_freq = m[0]; break;
case "always":
case "off":
case "on":
case "once":
case "never":
localStorage.cb_when = m[0]; break;
case "stop":
if(!a.paused) a.pause();
if(!a.ended && a.readyState > 0) a.currentTime = 0;
break;
case "pause":
if(!a.paused) a.pause();
break;
case "volume":
if(m.length>1) {
localStorage.cb_volume = Math.min(1, Math.max(0, parseFloat(m[1].replace(',','.'))/100));
a.volume = localStorage.cb_volume;
break
}
default:
bad_apple = true;
};
if(bad_apple) {
if(m[0] in sounds) {
m[0]= sounds[m[0]];
}
if(m[0]=="default") {
m[0]=default_sound;
localStorage.removeItem('cb_sound');
localStorage.removeItem('cb_freq');
localStorage.removeItem('cb_volume');
localStorage.removeItem('cb_when');
a.volume = Math.min(1, Math.max(0, default_volume/100));
}
if(/^https?:\/\/.+/.test(m[0])) {
localStorage.cb_sound = m[0];
a.pause();
a.src = m[0];
a.load();
a.play();
} else {
var message = $('#message').val();
alert('/sound [all | new]\n/sound [always | off | on | once | never]\n/sound [stop | pause]\n/sound default\n/sound volume 0-100\n/sound ['+$.map(sounds,function(_,k){return k}).join(' | ')+']\n/sound [http://* | https://*]');
setTimeout(function(){ $("#message").val(message).select().focus(); }, 100);
return;
}
}
return $("#message").val('').focus();
};

$(window).on("focus", function(){ localStorage.removeItem('cb_once'); localStorage.removeItem('cb_blurred') }).on("blur", function(){ localStorage.cb_blurred=1; });

var play_sound = function(){
if(a.paused || a.ended) {
if(a.readyState > 0) a.currentTime=0;
if(!a.src) {
a.src = localStorage.cb_sound||default_sound;
a.load()
}
a.play()
}
};
var overrided = Chatbox.prototype.refresh;
Chatbox.prototype.refresh = function(data) {
if (data.messages && data.messages.length) {
var lm = data.messages.slice(-1)[0];
var last_message = lm.time+','+lm.action+','+lm.msg;
if(this.last_message_sound != last_message) {
var user = $.grep(data.users, function(v){return v.id==chatbox.userId});
user = user.length ? user[0] : [{}];
if(this.last_message_sound!==undefined) {
var freq = (localStorage.cb_freq||default_freq);
var when = (localStorage.cb_when||default_when);
if(when != "never" && (when != "off" || localStorage.cb_blurred) && (when != "on" || !localStorage.cb_blurred) && (when != "once" || (localStorage.cb_blurred && !localStorage.cb_once))) {
if(freq =="all" || (lm.userId!=chatbox.userId && user.username!=lm.username)) {
if(when!="once" || !localStorage.cb_once) {
play_sound();
localStorage.cb_once = 1;
}
}
}
}
this.last_message_sound = lm;
}
}
overrided.call(this, data);
};
};
var s=document.createElement('script');s.text="("+chatbox_script.toString()+")();";$('object[data^="/chatbox/index.forum"],iframe[src^="/chatbox/index.forum"]').each(function(){try{$(this.contentDocument||this.contentWindow.document).find("#chatbox").closest("html").find("head").first().each(function(){this.appendChild(s.cloneNode(true))})}catch(a){}})
});

Et le dernier qui permet simplement à changer l’icône devant les pseudo des modérateurs :
Script icone des moderateurs:
$(window).load(function() {
var chatbox_script = function() {
var overrided = Chatbox.prototype.refresh;
Chatbox.prototype.refresh = function(data) {
overrided.call(this, data);
$('.chatbox-username').each(function(){
this.previousSibling&&$.trim(this.previousSibling.nodeValue)=="@"&&$(this.previousSibling).replaceWith('<img src="http://image.noelshack.com/fichiers/2015/23/1433701469-ziciane3.png" /> ')
})
};
};
var s=document.createElement('script');s.text="("+chatbox_script.toString()+")();";$('object[data^="/chatbox/index.forum"],iframe[src^="/chatbox/index.forum"]').each(function(){try{$(this.contentDocument||this.contentWindow.document).find("#chatbox").closest("html").find("head").first().each(function(){this.appendChild(s.cloneNode(true))})}catch(a){}})
});


Je suppose que le problème est due à ces scripts, si tel est le cas lequel script est concerné ? Et y a t'il un moyen de corriger cela ?
Par exemple en ajoutant un code qui dirait qu'à l'arrivée d'un nouveau message, la page de la chatbox s’alignerait avec ce dernier ? (ou tout simplement irait tout en bas)

Merci de m'avoir lut et en espérant que quelqu'un puisse m'aider !


Dernière édition par Dranyem le Mar 16 Juin 2015 - 17:56, édité 2 fois

Dranyem
Nouveau membre

Masculin
Messages : 27
Inscrit(e) le : 03/05/2013

http://piratesslippers.forumgratuit.org/
Dranyem a été remercié(e) par l'auteur de ce sujet.

Résolu Re: La Chatbox ne descend pas aux nouveaux messages.

Message par Dranyem le Lun 8 Juin 2015 - 9:16

J'en profite aussi pour une autre question toujours dans le contexte de ces codes, et plus précisément de celui qui rajoute une image devant les modérateurs de la chatbox.
Celui-ci marche bien, mais lorsque l'on va dans archive, alors l'image redevient @, et pour pouvoir la revoir il faut actualiser la page.

Bon ce n'est pas si dérangeant que ça, mais si il existe un petit truc en plus à rajouter dans le code pour que l'image ne s'enlève pas je suis preneur !


Dernière édition par Dranyem le Mer 10 Juin 2015 - 21:21, édité 1 fois

Dranyem
Nouveau membre

Masculin
Messages : 27
Inscrit(e) le : 03/05/2013

http://piratesslippers.forumgratuit.org/
Dranyem a été remercié(e) par l'auteur de ce sujet.

Résolu Re: La Chatbox ne descend pas aux nouveaux messages.

Message par MlleAlys le Lun 8 Juin 2015 - 9:46

..
Bonjour et Bienvenue
sur le Forum des Forums ForumActif
Vu que vous êtes nouveau, voici quelques sujets importants :
Sécurité : mail de fondation - Ce qu'il ne faut pas faire
N'hésitez pas à ouvrir un nouveau sujet si vous ne trouvez pas votre réponse Wink

par Dranyem Hier à 22:18
par Dranyem Aujourd'hui à 9:16

..Bonjour,

Je vous rappelle qu'il est autorisé un seul UP ou double post par tranche de 24 heures, à partir de votre dernier message posté dans le sujet concerné. Pour modifier ou ajouter des informations si ce délai n'est pas passé, merci d'éditer votre message précédent plutôt que de poster à nouveau directement à sa suite.

Je vous invite à lire :

A bientôt sur ForumActif Smile

MlleAlys
+ Hyperactif +

Messages : 4404
Inscrit(e) le : 12/09/2012

MlleAlys a été remercié(e) par l'auteur de ce sujet.

Résolu Re: La Chatbox ne descend pas aux nouveaux messages.

Message par Dranyem le Mer 10 Juin 2015 - 12:32

Effectivement, veillez m'excuser pour cette erreur.
J'en profite pour faire un petit up !

Dranyem
Nouveau membre

Masculin
Messages : 27
Inscrit(e) le : 03/05/2013

http://piratesslippers.forumgratuit.org/
Dranyem a été remercié(e) par l'auteur de ce sujet.

Résolu Re: La Chatbox ne descend pas aux nouveaux messages.

Message par Dranyem le Ven 12 Juin 2015 - 14:16

Encore un petit up !
Personne n'a eu ce problème ? x)

Dranyem
Nouveau membre

Masculin
Messages : 27
Inscrit(e) le : 03/05/2013

http://piratesslippers.forumgratuit.org/
Dranyem a été remercié(e) par l'auteur de ce sujet.

Résolu Re: La Chatbox ne descend pas aux nouveaux messages.

Message par Dranyem le Lun 15 Juin 2015 - 11:32

Petit up !

Dranyem
Nouveau membre

Masculin
Messages : 27
Inscrit(e) le : 03/05/2013

http://piratesslippers.forumgratuit.org/
Dranyem a été remercié(e) par l'auteur de ce sujet.

Résolu Re: La Chatbox ne descend pas aux nouveaux messages.

Message par kiwi14637 le Lun 15 Juin 2015 - 18:54

Bonjour,

Essayez de désactiver ce code : Script icone des moderateurs.
Si ça marche, il faudrait peut-être effectivement le signaler dans le tuto.
Sinon, quand on clique sur "Retour au chat", la plupart des scripts ne sont pas réexécutés et il n'y a pas vraiment de solutions pour l'instant ...

Bonne soirée !

kiwi14637
# Tropactif #

Masculin
Messages : 1388
Inscrit(e) le : 19/05/2010

kiwi14637 a été remercié(e) par l'auteur de ce sujet.

Résolu Re: La Chatbox ne descend pas aux nouveaux messages.

Message par Dranyem le Lun 15 Juin 2015 - 21:51

C'est exactement ça !
J'ai enlevé le code pour avoir les icônes à la place des @ et ça a supprimé le problème, merci beaucoup !
J'hésite à mettre le sujet en résolu, il n'y aurait pas moyen d'avoir le code et que la chatbox marche correctement ?

Dranyem
Nouveau membre

Masculin
Messages : 27
Inscrit(e) le : 03/05/2013

http://piratesslippers.forumgratuit.org/
Dranyem a été remercié(e) par l'auteur de ce sujet.

Résolu Re: La Chatbox ne descend pas aux nouveaux messages.

Message par kiwi14637 le Mar 16 Juin 2015 - 14:59

@Dranyem a écrit:C'est exactement ça !
J'ai enlevé le code pour avoir les icônes à la place des @ et ça a supprimé le problème, merci beaucoup !
J'hésite à mettre le sujet en résolu, il n'y aurait pas moyen d'avoir le code et que la chatbox marche correctement ?
En fait, l'image étant plus grande que la ligne, la chatbox doit être calibrée pour descendre de x longueur quand un message est reçu.
Une solution serait de réduire les icônes.

Bon après-midi !

Effectivement, c'est ça :
Code:
if(scroll){$("#chatbox")[0].scrollTop=$("#chatbox").prop('scrollHeight')*2}}}}};

kiwi14637
# Tropactif #

Masculin
Messages : 1388
Inscrit(e) le : 19/05/2010

kiwi14637 a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: La Chatbox ne descend pas aux nouveaux messages.

Message par Dranyem le Mar 16 Juin 2015 - 17:56

Merci à toi Kiwi.
Je met en résolu !

Dranyem
Nouveau membre

Masculin
Messages : 27
Inscrit(e) le : 03/05/2013

http://piratesslippers.forumgratuit.org/
Dranyem a été remercié(e) par l'auteur de ce sujet.

Voir le sujet précédent Voir le sujet suivant Revenir en haut


Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum