Avertissement :Il s'agit d'une page optimisée pour la navigation mobile. Voir la
page originale.
Titre du sujet qui s'écrit au ralentit
sandro le 15/06/2011 à 10:11
Bonjour/bonsoir,
Je voulais savoir si vous aussi ça vous arrive que quand vous créés un nouveau sujet, le texte s'affiche pas instantanément comme dans le message mais au bout d'un laps de temps assez important (parfois plus de 30 secondes pour afficher un mot) voir parfois quand on tape quelquechose de long, que la fin ne s'affiche jamais. Quand cela arrive, on ne peu pas déplacer le curseur tant que les lettres ne sont pas toutes affichées (enfin toute celles qui s'afficheront sans que l'on ai à les retaper).
Sandro
PS : parfois c'est extraîme, parfois (comme là) ça se remarque à peine ; j'i l'impréssion que tant plus il y a de monde connecté, tant plus ça prend du temps.webmaster le 15/06/2011 à 11:09
Ca vient de la recherche "instantannée" de sujets similaires... Je l'améliore prochainement et tu me dis si c'est mieux ?
@+ Le Webmaster

sandro le 15/06/2011 à 20:49
Merci beaucoup, ça ne vient donc pas de mon navigateur qui est un peu obscelet.
SandroTigre-obscure le 15/06/2011 à 20:53
Non parce que moi aussi ça me le fait de temps en temps ^^Persalteas le 16/06/2011 à 09:39
J'ai essayé avec différents navigateurs, et paradoxalement c'est le plus récent qui écrit le plus lentement... IE9...sandro le 16/06/2011 à 10:19
t'a vérifié que le nombre de visiteurs sur le forum n'a pas changé, j'ai l'impréssion que ça change pas mal entre quand je suis seul ou presque que quand il y a du monde.
SandroAkmdad le 20/06/2011 à 02:49
persalteas, tu sais bien que IE c'est de la m****sandro le 20/06/2011 à 13:52
Akmdad, là tu n'avance en rien le sujet. D'ailleur, je ne savais pas que tu appréciait internet explorer au point de dire que c'est de la mAGIE (m****). LOL
Est-ce que toi avec ton autre navigateur ça le fait aussi ou pas du tout ?
SandroPersalteas le 20/06/2011 à 14:10
comme dit sandro, tu n'avances pas beaucoup là Akmdie... Et si tu crois que j'utilise IE9 sur ubuntu...Sangohan38 le 20/06/2011 à 18:00
Sur Chrome, pas trop de ralentissements...
Par contre sur IE7, c'est tout bonnement horrible.
Sangohan38sandro le 20/06/2011 à 18:03
Donc ça doit être ça, moi j'ai IE6, et c'est horrible (l'astuce c'est d'écrire directement dans le sujet et de faire un couper-coller).
SandroTigre-obscure le 20/06/2011 à 19:10
Sangohan, Je peux t'affirmé que sur Google chrome je bug sur le titre car ce matin je viens de le faire et il a pris 1 minute pour sortir regroupement ^^" et puis le reste en 2 minute :x (à peu près).
Et la dernière fois c'étais la même chose sa m'a pris 1 minute pour fini mon titre.
Ou c'est l'ordi ou c'est le forum donc je sais pas ^^
Je pense pas que c'est mon ordi car j'ouvre souvent beaucoup de chose et cela ne bug pas
Tigre =)sandro le 20/06/2011 à 19:16
J'ai l'impréssion que la fréquentation du forum a aussi une forte influance.
SandroCocodidou le 11/07/2011 à 10:58
Testé ce matin, Nightly 8.0a1 (trunk de Firefox), Linux Mandriva 2010.2, kernel 3.0.0-rc1. La saisie est bloquée pendant la recherche. Faut-il peut être penser à faire un XMLHTTPRequest asynchrone (un xhr bloque le navigateur lorsqu'il est synchrone et que la page ne lui a pas été entièrement retournée), quitte à interrompre une recherche en cours en en lançant une nouvelle... C'est une ébauche d'hypothèse qui peut se réfléchir.
Ainsi, on aurait:
Code
//Soit xhr un objet XMLHTTPRequest précédemment défini.
xhr.onreadystatechange = function () {
if(xhr.readyState ==4)
{
//C'est chargé, y'a plus qu'à.
}
}
function lookForSubject()
{
xhr.open('POST', 'http://www.mon-hebergeur.com/mon-fichier.php', true); //POST ou GET, pas d'importance mais il faut que le traitement en aval corresponde à ta méthode
}
Le 'true' dans xhr.open(string, string, bool) définit le mode de transfert (synchrone = false, ou asynchrone = true)
Webmaster, comment gères-tu ton XMLHTTPRequest?
edit: J'ai trouvé la source du problème, là:
Code
xhr_object.open("GET", fichier, false);
Du coup, ton code qui suit
Code
if(xhr_object.readyState == 4) return(xhr_object.responseText);
else return(false);
ne sert à rien, puisque le navigateur doit attendre que la requête XHR soit terminée (elle est synchrone). Ta fonction ne retourne jamais false aussi longtemps que ton fichier auquel tu fais appel pour ta rechercherche existe. Et quand bien même il n'existerait pas, tu aurais quand même le code de réponse 4, puisqu'une page d'erreur 404 te serait retournée...
Tu aurais meilleur temps de mettre le traitement post-XHR dans une fonction comme je te l'ai indiqué plus haut, cela améliorerait la fluidité de la frappe du titre...
Cocodidou le 11/07/2011 à 11:45
Je te propose un script en remplacement de celui en place, que tu peux essayer:
Code
if(window.XMLHttpRequest) // FIREFOX
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // IE
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
function writediv(texte)
{
document.getElementById('sujbox').innerHTML = texte;
}
function verifSuj(suj)
{
if(suj != '')
{
if(suj.length>10)
{
file('../recherche/shortversion.php?q='+escape(suj));
}
}
}
function file(fichier)
{
if(xhr_object)
{
xhr_object.open("GET", fichier, true);
xhr_object.send(null);
}
}
if(xhr_object)
{
xhr_object.onreadystatechange = function() {
if(xhr_object.readyState == 4) {writediv(xhr_object.responseText);}
}
}
else
{
writediv('<b>VOtre navigateur ne supporte pas la recherche instantanée.</b>');
}
webmaster le 11/07/2011 à 21:44
Merci ! Pb résolu grâce à Cocodidou !
@+ Le Webmaster

Avertissement :Il s'agit d'une page optimisée pour la navigation mobile. Voir la
page originale.