Gros souci
Hello Docteur!
Il me semblait bien que le nombre de contributions sur Wikimini avait dramatiquement baissé depuis deux jours! Le patch prévenant le double-clic empêchait tout bonnement les utilisateurs d'IE de publier quoique ce soit! Je viens donc de le désactiver d'urgence. Le problème, c'est que tous les wikiminautes qui ne vident pas leur cache sont toujours dans l'impossibilité d'intervenir sur le site. Il y aurait peut-être un moyen de contrecarrer le truc en modifiant le fichier Wikimini.js (le patch avait été appliqué dans commons.js. Je t'ai octroyé les droits de wikitechnicien pour te laisser plus de marge de manœuvre, en espérant que tu aies le temps de voir s'il y a une solution. Pour ma part, je ne serai pas de retour avant ce soir. Au secours!
Je pourrais modifier l'id du bouton dans les fichiers php si jamais... tu veux que j'essaie?
C'est bon, j'ai trouvé la solution et j'ai rétabli la fonction.
Ca fonctionne avec Internet Explorer 8.
J'ai aussi dû installer la methode "indexOf", qu'IE ne connaissait pas, et j'en ai profité pour rajouter d'autres fonctions standards qui seront utiles par la suite
Par contre, il y a un bug dans une fonction "Google" (fonction liée à GoogleMap j'ai l'impression)
En mode édition, cette fonction recherche la "toolbar", qui n'est pas présente (FCKEditor ?) Je vais essayer de voir ce qu'on peut faire.
Il risque d'y avoir un problème également avec le script qui modifie la hauteur de la taille d'édition (j'ai eu une alerte par rapport à ça).
Enfin bon, il y a le temps de la mettre au point (et ce coup-ci je vérifierai que ça marche correctement avec IE et les autres navigateurs). Au pire, ben faudra laisser tomber cette option...
Oui, mais le problème du cache n'est pas réglé. En ce qui me concerne, j'ai beau fermer et relancer IE8, jr ne peux toujours pas publier dans Wikimini. C'est parce que visiblement j'ai toujours l'ancien Javascript cahrgé en mémoire. Il faudrait forcer le rechargement du javascript (common.js) chez tous les visiteurs. Si ce n'est pas possible, dis-le moi rapidement afin que j'intervienne directement dans les fichiers php. Il suffirait de remplacer wpSave par wpSave1 à tous les endroits où cela apparait. J'en ai localisé 4 qu'il suffirait de changer.
Et dans un mois, je remplacerais à nouveau wpsave1 par wpsave au cas où le correctif anti double clic est OK.
au fait, tu as skype?
ou un compte gmail?
Non, on ne peut pas renommer le bouton. Il faut absolument garder ce nom.
Par contre, on peut rajouter la fonction "onclick" directement dans le php. Théoriquement l'effet sera immédiat. Je vais essayer de voir dans quel fichier ça se passe (/includes/edit.php je crois).
Non, ni skype, ni gmail.
Pourtant j'y arrive à publier, moi (je suis sous IE, là). C'est bizarre quand même...
C'est parce que tu as le nouveau common.js chargé dans ton navigateur. Moi j'ai toujours l'ancien. Il suffirait que je recharghe mon cache pour résoudre le problème. Le souci, c'est que les autres wikiminautes qui ont consulté le site durant ces deux derniers jours sont dans la même situation. Ils ont l'ancien common.js chargé dans leur cache. Et à moins qu'ils ne le rechargent, ils ne pourront toujours pas publier sur le site.
C'est pour ça qu'il faudrait forcer le rechargement de common.js. ca doit être possible d'une manière ou d'une autre. Mais le plus simple, à mon avis, ce serait encore de changer l'id du bouton submit pour que le correctif que nous avons ajouté n'ait plus aucun effet. Dans quelques temps, on pourra le rétablir.
Qu'en penses-tu?
Pour t'expliquer ce qui se passe, et bien lorsque je clique sur le bouton publier, il se désactive, mais rien ne se produit ensuite. La publication ne s'effectue pas.
Selon mes recherches, on pourrait modifier wpSave en wpSave1 (par exemple) dans les 4 fichiers suivants et le site continuerait de fonctionner normalement :
extensions\FCKeditor\css\fckeditor.css (2 hits) Line 1425: input#wpSave, input#wpDiff { Line 1433: #wpSave { includes\EditPage.php (2 hits) Line 2006: 'id' => 'wpSave', Line 2007: 'name' => 'wpSave', skins\wikimini\main.css (2 hits) Line 1611: input#wpSave, input#wpDiff { Line 1619: #wpSave { skins\wikimini\rtl.css (1 hits) Line 209: input#wpSave, input#wpDiff {
Il y a quelques autres occurrences de wpSave, mais uniquement dans fichiers liés à d'autres skins.
Bon, le filtre anti-pourriel s'y met maintenant...
Tu peux toujours essayer (les fichiers css c'est inutile de les modifier), mais franchement je doute.
Sinon, ce que j'essayais de dire avant de me faire censurer, c'était d'ajouter la fonction qui marche dans /skins/wikimini.php, à la fin, juste avant l'appel addOnLoadHook(), entre deux balises :
<script type="text/javascript"> // ============================================================================ ///////////////////////////////// Évite le double-post dans les pages de discussion LQT addOnloadHook( function(){ var wpSave = document.getElementById('wpSave'); if(wpSave){ wpSave.onclick = function(){ document.getElementById('wpSave').submit(); document.getElementById('wpSave').disabled = "disabled"; } } });/////////////////////////////// // =========================================================================== </script>
Théoriquement, ce nouveau "onclick" devrait écraser le précédent et l'effet sera immédiat.
Au temps pour moi, en fait ce sont les script "bottomscripts que j'appelle comme ça, visiblement à tort :
<!--footer end--> <?php } //end ifprintable ?> </div> </div> </div> <script type="text/javascript"> // ============================================================================ ///////////////////////////////// Évite le double-post dans les pages de discussion LQT addOnloadHook( function(){ var wpSave = document.getElementById('wpSave'); if(wpSave){ wpSave.onclick = function(){ document.getElementById('wpSave').submit(); document.getElementById('wpSave').disabled = "disabled"; } } });/////////////////////////////// // =========================================================================== </script> <?php $this->html('bottomscripts'); /* JS call to runBodyOnloadHook */ ?> <?php $this->html('reporttime') ?> <?php if ( $this->data['debug'] ): ?> <!-- Debug output: <?php $this->text( 'debug' ); ?> --> <?php endif; ?> </body> </html> <?php wfRestoreWarnings(); } // end of execute() method } // end of class ?>
Donc je parviens à nouveau à publier avec IE8, sans avoir vidé le cache de mon navigateur.
Cependant, avec IE8 en tout cas, le bouton submit ne se désactive pas. J'ai aussi vu une erreur Javascript (signalé dans la barre des tâche par un petit signal d'avertissement jaune) au moment où j'ai cliqué sur le bouton submit.
Si vraiment ce correctif pose des problèmes, autant le laisser tomber. Le problème des doublons ne se pose que dans les pages de discussion, et il n'apparait heuresement pas trop souvent. On peut espérer que la prochaine version stable de LQT ait résolu ce problème, non?
OK, je vois le problème. En fait, IE ne connaît pas la méthode submit();
Du coup, la fonction buggue et le disabled n'est pas exécuté.
Ce que je te suggères, c'est de supprimer les deux, mais en gardant la fonction onclick vide (pour que ceux qui n'ont pas encore rechargé leur cache n'ai pas accès au onclick de la fonction qui ne marche pas.
De mon côté, je vais désactiver la fonction de MediaWiki:Common.js et essayer de résoudre le problème sur beta (probablement en codant la requête "manuellement").
Attention, pour faire cela, tu dois être connecté(e) !
Clique ici pour te connecter ou créer un compte
Explication détaillée : Tu n’es pas autorisé(e) à modifier cette page, pour les raisons suivantes :
Tu peux seulement voir le code source de l’article, mais pas le modifier :
Revenir à la page Thread:Gros souci (19).
Ok, mais qu'entends-tu exactement par « supprimer les deux » ?
Malheuresement, je dois absolument partir maintenant. Je me suis déjà mis très en retard.
Ce soir, ou demain, je testerai également le site avec le logiciel "Multiple IE" (qui ne fonctionne que sous XP). Cela me permettra de vérifier s'il y a des problèmes avec les plus anciennes versions de IE.
A tout bientôt et merci de ta rapide intervention!
Laurent
Par "supprimer les deux", je voulais dire laisser la fonction onclick vide, afin de ne pas provoquer d'erreur, mais de continuer à écraser la fonction défectueuse de ceux qui n'ont pas leur cache à jour.
Bon vent, et fais moi signe à ton retour.
Pour la barre d'option, que penses-tu de s'inspirer de celle présente sur cette page ?
J'ai rajouté sur beta la fonction pour modifier la taille de la police.
Pour les icônes, tu devrais arriver à trouver ton bonheur ici.
Une fois que tu auras choisi, je modifierai le menu pour en faire une barre et il ne me restera plus qu'à coder la fonction qui fait afficher l'explication en-dessous. (D'ailleurs il faudrait également modifier le wikiboo, qui est le même que celui du menu outils. Là aussi, je te laisse choisir.
Questions : est-ce que les autres wikitechniciens (ou adultes) sont au courant de l'existence de beta ou il n'y a que nous deux ? Je demande parce que ça serait pas mal d'avoir plusieurs testeurs pour éviter les erreurs.