Forum

Catégorie : Discussions générales
Forum : Que pensez-vous du site ?
Vues : 2157
Réponses : 15
Type : discussion
Statut : réglé
Etat : réponses autorisées

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 beer.gif
sandro le 15/06/2011 à 20:49
Merci beaucoup, ça ne vient donc pas de mon navigateur qui est un peu obscelet.

Sandro
Tigre-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.

Sandro
Akmdad 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 ?

Sandro
Persalteas 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.

Sangohan38
sandro 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).

Sandro
Tigre-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.

Sandro
Cocodidou 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 beer.gif