les rubriques du menu d'aide ne se déplient plus,
(vérifié sur une cvs vierge)
Réparé
Emmanuel
confirmé
Déesse A. a écrit :
oui, mais avec src="layer.js"
c'est le menu de navigation rapide qui tourne plus
Pierre
Déesse A. a écrit :
Réparé
Emmanuel
Salut,
Pas encore regardé les corrections de layer.js.
Quelques précisions (si nécessaire):
-> C'est moi qui ai introduit le bug il y a quelques jours, en «unifiant» find_obj (qui était déclaré dans inc_presentation) et le vieux findMM_Obj (qui était auparavant dans layer.js).
-> finb_Obj et findMM_Obj font la même chose: elles renvoient l'objet désigné par son identifiant. Avec pour seule différence l'ajout, dans find_Obj, d'une mémorisation des objets qui permet de ne pas refaire toute la recherche à chaque fois qu'on appel find_Obj d'une même élément. C'est transparent à la fois dans le code et pour l'utilisateur, avec simplement une différence de vitesse d'exécution très importante (extrêmement perceptible sous Safari).
-> la présence de find_Obj dans inc_presentation est justifiée par le fait que:
* layer.js n'a pas de raison d'être appelé à chaque fois, mais uniquement si on a un brouteur qui gère l'affichage/masquage des couches; (et si layer.js est appelé sans test, c'est un peu une erreur...);
* alors qu'on a besoin de find_Obj _toujours_, parce qu'énormément de survols sont gérés en y faisant appel.
-> MAIS... il peut être intéressant d'avoir un find_Obj directement dans layer.js, pour que layer.js ait un fonctionnement «autonome». Notamment, un usage assez répandu est de inc_layer directement depuis l'espace public (pour afficher des triangles de dépliage sur le site public). Note: ma modif d'il y a quelques jours fait, précisément, déconner ce fonctionnement depuis le site public. D'où risque de compatibilité avec des squelettes précédents.
ARNO*
-> la présence de find_Obj dans inc_presentation est justifiée par le
fait que:
* layer.js n'a pas de raison d'être appelé à chaque fois, mais
uniquement si on a un brouteur qui gère l'affichage/masquage des
couches; (et si layer.js est appelé sans test, c'est un peu une
erreur...);
* alors qu'on a besoin de find_Obj _toujours_, parce qu'énormément
de survols sont gérés en y faisant appel.
Il vaut quand même mieux le mettre dans layer.js et l'appeler toujours,
car il est mis en cache naturellement (c'est un fichier statique),
tandis que le javascript généré par inc_presentation est renvoyé à
chaque fois. Même raisonnement qu'avec la feuille de style : spip_style
contient un tas de trucs pas toujours utilisés, mais comme il est
normalement mis en cache, c'est quand même mieux qu'un bout de CSS au
début de chaque page HTML.
(au fait, je ne comprends pas pourquoi les survols marcheraient si les
layers ne marchent pas)
PS : le MM_ dans MM_findObj, c'est pour MacroMedia ?
Il vaut quand même mieux le mettre dans layer.js et l'appeler toujours,
car il est mis en cache naturellement (c'est un fichier statique),
tandis que le javascript généré par inc_presentation est renvoyé à
chaque fois. Même raisonnement qu'avec la feuille de style : spip_style
contient un tas de trucs pas toujours utilisés, mais comme il est
normalement mis en cache, c'est quand même mieux qu'un bout de CSS au
début de chaque page HTML.
Yep, d'accord avec ça.
(au fait, je ne comprends pas pourquoi les survols marcheraient si les
layers ne marchent pas)
Ca date un peu, en fait... Et les brouteurs ont beaucoup évolué.
A l'époque, on essayait de préserver la compatibilité avec Netscape 4.x. Sauf que cette compatibilité est tombée d'un seul coup avec les styles contenant des underscore :-))
Il y avait aussi des difficultés avec les brouteurs respectant DOM dans la définition des styles, mais n'y accédaient pas bien avec javascript. Il me semble que c'était le cas avec les versions précédentes d'Opera. Mais maintenant, tous les brouteurs que je teste, tout semble fonctionner.
PS : le MM_ dans MM_findObj, c'est pour MacroMedia ?
C'était... Mais le code a énormément changé. Il me semble qu'on est passés depuis à une version générique du code. On pourrait vérifier.
A*