| [Résolu]Code incompatible avec Mozilla et Explorer | |
|
Xibition
{ Membre }
Messages : 115
| Bonsoir, Je reviens vers vous pour redemander un peu d'aide.. Y'a un bout de temps j'ai fini le design de mon forum, tout est bon, j'avais mis un slider qui affiche les derniers messages lors du clique, vous pouvez le voir ici: http://pooop-s.forumgratuit.org/forum Je suis sous Chrome et le slider s'affiche parfaitement, mais quelques membres m'avaient signalés que les derniers messages ne défilaient ni sous Mozilla Firefox ni sous Explorer.. Et je me demandais d'ou cela peut bien venir ? Voici mes codes : Script : Html dans overall_footer_end: Css: Merci d'avance |
Dernière édition par Xibition le Mer 05 Sep 2012, 18:22, édité 1 fois | |
|
| |
'Christa
Lostmindy
Messages : 2856
| Bonjour !
Alooors...
Sur Firefox et sur Chrome je vois le slider, par contre il est désespérément vide '_' (Il nous faudrait peut être un compte test) Le forum m'a aussi l'air d'avoir du mal à charger.
Sur une note sans rapport, je trouve triste de voir que même si CSSA est crédité, aucun lien ne mène vers le forum u_u Vu le temps que je t'ai consacré c'est un peu dommage. | | |
|
| |
Xibition
{ Membre }
Messages : 115
| Coucouu Christa Oui voilà, quand je suis connectée (et sous Chrome) il y a les derniers messages qui défilent. Par contre sous Mozilla et Explorer rien ne défile même si on est connecté ! Et je ne savais pas qu'il avait du mal à charger Au fait pour les crédits j'ai mis les liens sur le forum officiel : http://www.graph-perle.com/ , dans la partie crédits de la PA | | |
|
| |
'Christa
Lostmindy
Messages : 2856
| C'est un peu difficile de tester si on ne voit rien défiler en tant qu'invité, en fait U.U Fondamentalement il ne me semble pas qu'il y ait d'erreur dans le code à première vue x_x La partie qui gère cet affichage c'est celle ci : - Code:
-
<iframe name="tfa3" style="visibility: hidden; width:0; height:0;" src="/portal" onLoad="var tfa3=window.tfa3.document.getElementById('comments_scroll_div');document.getElementById('comments_scroll_div').innerHTML=tfa3.innerHTML;"></iframe> Je ne vois pas d'erreur de guillemets, ça vient peut être directement des balises et scripts utilisés dans l'affichage des sujets défilants... Peut être que... Dans ton code, retire le comments_scroll_div dans cette ligne : - Code:
-
<td width="158px" align="center" id="comments_scroll_div" valign="middle"> | | |
|
| |
Xibition
{ Membre }
Messages : 115
| Si j'enlève les derniers messages ne défilent plus ! Je vous envoie les identifiants par mp pour voir | | |
|
| |
'Christa
Lostmindy
Messages : 2856
| Apparemment ça viendrait de la balise marquee, vu que firefox aussi parvient à "appeler" l'iframe sans problème.
Dans le code HTML que je t'ai déjà demandé de modifier, transforme le comments_scroll_div par un bloc_messages et dans le code javascript remplace le dernier comments_scroll_div par bloc_messages aussi.
Sinon faudra que Doare ou Espeon pointent leur museau par ici ça me semble toucher au script (pourtant la console n'a pas l'air de criser...) | | |
|
| |
Xibition
{ Membre }
Messages : 115
| C'est ce que j'ai fait, mais quand tu dis javascript tu parles du iframe dans le template ? (parce que c'est la seule place ou y'a le comments_scroll_div ) | | |
|
| |
'Christa
Lostmindy
Messages : 2856
| Oui, en effet | | |
|
| |
Espeon
Administrateur
Messages : 1819
| Plop, Alors je veux bien jeter un coup d'oeil, mais il me faudrait également les identifiants afin de pouvoir observer l'effet. Par ailleurs, il me semble que marquee n'est pas un standard W3C mais une balise made in Microsoft. Bref, à éviter en temps normal mais nous verrons | | |
|
| |
'Christa
Lostmindy
Messages : 2856
| Le problème, cher Espéon, c'est qu'elle n'a pas tellement le choix vu qu'il s'agit d'un code généré par FA (sur le portail) u_u
L'idéal serait potentiellement de récupérer les flux (j'avais vu ça sur feu Alderia) mais je ne sais pas trop comment faire. | | |
|
| |
Xibition
{ Membre }
Messages : 115
| Identifiants envoyés Espeon. *ne comprend rien du tout de ce que vous venez de dire* | | |
|
| |
Espeon
Administrateur
Messages : 1819
| Je confirme que l'élément est présent, mais le marquee "efface" l'affichage.
Alors alors idées... On peut rajouter un script qui vient manipuler le DOM pour retirer le contenu du marquee. Ou bien venir modifier le script qui est contenu (j'ai cru voir) dans l'iframe pour ne pas récupérer marquee dans "le flux" (c'est pompeux dis comme ça ouais).
Une préférence ? | | |
|
| |
Xibition
{ Membre }
Messages : 115
| Heuu bah écoute je n'en ai aucune idée, je comprend pas ce que tu dis lol Qu'est ce qui te semble le mieux ? Parce que moi je ne m'y connais pas du tout .. | | |
|
| |
Espeon
Administrateur
Messages : 1819
| Bon on va faire un petit test. Rends-toi dans Panneau d'Administration > Modules > Gestion des codes Javascript. Crée un nouveau code, nomme-le " marquee-killer" par exemple, active le sur tout le forum (du moins partout où ton module est affiché). Voici le code : - Code:
-
$(function() { var txtMarquee = $('marquee').html(); //Récupère le contenu de la balise marquee $('marquee').parent().html(txtMarquee); //Remplace marquee par son contenu }); Sauf erreur, ces 2 petites lignes devraient résoudre ton soucis... Pour info, après avoir checké le code source, Chrome supprime directement lui-même le marquee (carrément !). |
Dernière édition par Espeon le Mer 05 Sep 2012, 17:26, édité 1 fois | |
|
| |
'Christa
Lostmindy
Messages : 2856
| Et il le remplace par autre chose ? Parce que ça défile quand même sous chrome O.o
Moi ce que je ne comprends pas, c'est que sous firefox sur le portail ça défile parfaitement normalement, pourquoi pas dans la boite latérale ? | | |
|
| |
Espeon
Administrateur
Messages : 1819
| - 'Christa a écrit:
- Et il le remplace par autre chose ? Parce que ça défile quand même sous chrome O.o
Moi ce que je ne comprends pas, c'est que sous firefox sur le portail ça défile parfaitement normalement, pourquoi pas dans la boite latérale ? Mea culpa, il n'en fait rien, c'est moi qui ait du modifier le code source sans faire gaffe puisqu'effectivement ça ne défilait pas. Ah ben du coup non ma solution ne va pas avoir le même rendu... Je vais ré-étudier ça (mes navigateurs/yeux me jouent des tours didiou !). | | |
|
| |
Espeon
Administrateur
Messages : 1819
| Cela dit, je viens de repérer une erreur de script. Xibiton est-ce-que ce code te dit quelque chose ? : - Code:
-
document.getElementById('TFAd').innerHTML=document.getElementById('TFAd').innerHTML.replace(/Il y a en tout /,"En ce moment sur Graph Perle il y a ");document.getElementById('TFAd').innerHTML=document.getElementById('TFAd').innerHTML.replace(/utilisateurs en ligne/,"personnes connectées, dont ");document.getElementById('TFAd').innerHTML=document.getElementById('TFAd').innerHTML.replace(/utilisateur en ligne/,"personne actuellement connectée dont ");document.getElementById('TFAd').innerHTML=document.getElementById('TFAd').innerHTML.replace(/Enregistrés/,"grapheurs ");document.getElementById('TFAd').innerHTML=document.getElementById('TFAd').innerHTML.replace(/Enregistré/,grapheur ");document.getElementById('TFAd').innerHTML=document.getElementById('TFAd').innerHTML.replace(/Invisible et/,"anonyme et ");document.getElementById('TFAd').innerHTML=document.getElementById('TFAd').innerHTML.replace(/Invisibles et/,"anonymes et ");document.getElementById('TFAd').innerHTML=document.getElementById('TFAd').innerHTML.replace(/Invités/,"passionnés de graphisme. ");document.getElementById('TFAd').innerHTML=document.getElementById('TFAd').innerHTML.replace(/Invité/,"passionné de graphisme. "); Il y a une erreur de guillemets, du coup je te suggère de remplacer ce code par le suivant : - Code:
-
document.getElementById('TFAd').innerHTML=document.getElementById('TFAd').innerHTML.replace(/Il y a en tout /,"En ce moment sur Graph Perle il y a ");document.getElementById('TFAd').innerHTML=document.getElementById('TFAd').innerHTML.replace(/utilisateurs en ligne/,"personnes connectées, dont ");document.getElementById('TFAd').innerHTML=document.getElementById('TFAd').innerHTML.replace(/utilisateur en ligne/,"personne actuellement connectée dont ");document.getElementById('TFAd').innerHTML=document.getElementById('TFAd').innerHTML.replace(/Enregistrés/,"grapheurs ");document.getElementById('TFAd').innerHTML=document.getElementById('TFAd').innerHTML.replace(/Enregistré/,"grapheur ");document.getElementById('TFAd').innerHTML=document.getElementById('TFAd').innerHTML.replace(/Invisible et/,"anonyme et ");document.getElementById('TFAd').innerHTML=document.getElementById('TFAd').innerHTML.replace(/Invisibles et/,"anonymes et ");document.getElementById('TFAd').innerHTML=document.getElementById('TFAd').innerHTML.replace(/Invités/,"passionnés de graphisme. ");document.getElementById('TFAd').innerHTML=document.getElementById('TFAd').innerHTML.replace(/Invité/,"passionné de graphisme. "); On va voir si c'est pas ça qui ferait planter Firefox (et IE par la même occasion). | | |
|
| |
Xibition
{ Membre }
Messages : 115
| Donc là j'ai corrigé l'erreur de guillemets (dans l'index_body) Mais ça ne défile toujours pas | | |
|
| |
Espeon
Administrateur
Messages : 1819
| En fait... Aaaaaah c'est bizarre, le code généré sous Firefox est différent que celui de Chrome si on y regarde de près. En fait, sous Firefox, la width (largeur) du bloc marquee vaut... 0. Bref, ça peut finalement se résoudre en CSS j'imagine avec le code suivant : - Code:
-
marquee#comments_scroll_container { width: 95% !important; } Si, pour une raison ou une autre (vu que c'est dans une iframe) ça ne fonctionne pas, essaye avec ce script : - Code:
-
$(function() { $('marquee#comments_scroll_container').css('width', '95%'); }); Au passage, tu peux supprimer l'ancien script (si tu l'avais déployé, mais je ne pense pas vu que ça fonctionne toujours). | | |
|
| |
Xibition
{ Membre }
Messages : 115
| Là ça marche !! Mais ça ne défile pas x) EDIT : aaaah si ca marche sans le script juste le css ! MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI | | |
|
| |
Espeon
Administrateur
Messages : 1819
| Bah bien sûr que si ça défile o_O
Enfin chez moi ça défile. Pour info, sous Firefox, ça affiche d'abord le contenu, puis ça défile. Hors il y a un .stop() du défilement lorsque tu passe ta souris sur le texte (donc ça ne défile pas si tu reste dessus). C'est parce-que marquee n'est pas une balise reconnue donc les navigateurs sont libres de l'interpréter comme ils veulent...
EDIT : Ah bah je préfère ça. Oui normalement pas besoin de script, juste le CSS suffit. | | |
|
| |
Xibition
{ Membre }
Messages : 115
| haha d'accord. Merci beaucoup, t'es juste énorme | | |
|
| |
Psycho
Psychopathe
Messages : 3407
| Hello (: Je suis sûre que Espeon appréciera le compliment à sa juste valeur ^^ Je déplace puisque c'est résolu ! Merci de l'avoir signalé | | |
|
| |
Contenu sponsorisé
| |
| |
| [Résolu]Code incompatible avec Mozilla et Explorer | |
|