5176 sujets

Le Bar du forum

pouic pouic pouic,

Les seules drogues que j'ai consommé récemment sont la caféine, la nicotine et le chocolat, pourtant j'ai l'impression qu'il me manque un bout de cerveau (me dites pas que vous l'aviez remarqué !!) ou bien c'est un bug d'opéra qui me rend fou.
1 - juste une ligne javascript qui marche avec firefox mais pas dans opera.
2 - presque la même ligne qui marche avec firefox et avec opera

1 :
Dans le XHTML :
<p id="consigne"> ... </p>

Dans le javascript :
document.getElementById('consigne').setAttribute('style','display:none');


Cela ne marche pas dans opéra mais bien dans firefox et konqueror.

2 :
La même chose sauf que le id change de nom :
XHTML :
<p id="p_resume_consigne">

Javascript :
document.getElementById('p_resume_consigne').setAttribute('style','display:none');


Et là ça passe dans opéra.

Si vous voulez reproduire le tour de magie, version d'opéra :

Version 8.51
Build 1462
Platform Linux
System i686, 2.6.9-10.2.aur.2
Qt library 3.3.3
Java No Java Runtime Environment installed

(oui j'ai pas encore configuré opera mais ça ne devrait pas empêcher le javascript de tourner correctement, je pense).

Une explication ? Smiley rolleyes
J'ai cessé d'essayer de comprendre les bugs javascript d'Opera depuis un petit moment, je te conseille de faire de même. Quelques exemples en vrac :
- Opera, addEventListener(), text-decoration et content : au survol du texte, l'image se démultiplie incompréhensiblement (chaque propriété CSS et chaque instruction javascript a son importance...) ;
- Opera, setAttribute() et <iframe> : du texte dans une <iframe>, on applique setAttribute() sur un autre élément de la page (ici un <input> mais ça pourrait être autre chose) et boum, le texte de l'iframe passe sous la barre de défilement vertical ;
- Opera, setAttribute() et <object> : idem mais avec un <object> à la place de l'<iframe>.
Certainement.

C'était du developpement local mais je veux bien mettre ça en ligne. Je vais essayer de faire ça en fin de journée.

EDIT : Raté, j'étais occupé.
Modifié par ___seb (10 Dec 2005 - 00:47)
Je crois avoir compris le problème : Smiley smile

Quand la propriété est définie dans la css, les modifications via javascript sont inopérantes.
CSS :
#p_resum_qualite {display:block;}

Javascript :
document.getElementById('p_resum_qualite').style.display='none';

ou la methode plus standard setAttribute n'y font rien, chez moi au moins.

C'est toujours bon a savoir.
inopérante, non.

j'ai constaté pareil problème, résolu chez moi en redéclarant dans le js l'état de départ dudit élément.

donc, tu devrais redéclarer en javascript l'état de départ de ton paragraphe...

enfin, chez moi, ça marche, mis ainsi.
J'ai eu cette idée aussi et ça ne marchait pas. J'ai donc supprimé l'instruction css pour la mettre seulment en javascript.

J'ai tenté de répliquer l'effet - bug dans d'autre fichiers et ça passe très bien. J4aurais pas le temps de faire des tests ce weekend. Je retesterai plus tard.