incompatibilité entre deux scripts .. :(

incompatibilité entre deux scripts .. :( - HTML/CSS - Programmation

Marsh Posté le 15-06-2005 à 16:55:46    

[newbie en besoin d'aide ..]
 
Hello,  
Je dois dire dans le cadre d'un cours pourquoi il y a une incompatibilité entre ces deux scripts :  
 
celui de Raphaël WILS pour un menu dynamique, multi-niveau en css et js  
http://www.r-wils.com/scripts/menu-dynamique/#etape4
et la fonction Nifty Corners développée pour des cadres arrondis :  
http://pro.html.it/esempio/nifty/niftyCodice.html
 
Je sèche ..  
Pourquoi est-ce qu'appliquer n'est pas possible ?  
Merci aux spécialistes de me répondre, ce serait très gentil.  
Nizouille
[/newbie en besoin d'aide ..]
PS: Dites-moi si vous avez besoin d'autres éléments


---------------
ressources pédagogiques et préparations de cours pour l'enseignement - Actualité de l'enseignement - [url=http://www.enseignons.be/forum/index.php]
Reply

Marsh Posté le 15-06-2005 à 16:55:46   

Reply

Marsh Posté le 15-06-2005 à 17:02:46    

nizouille a écrit :

dans le cadre d'un cours


http://forum.hardware.fr/forum2.ph [...] 544&cat=10

Citation :

[0D] [...] les demandes de résolutions d'exercices ne seront pas acceptées


[:petrus75]


Message édité par masklinn le 15-06-2005 à 17:02:59

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 15-06-2005 à 17:07:00    

bon ben c'est dans le cadre de mon site alors :)
http://www.enseignons.be (menu de raphaël wils utilisé) ... Moi qui pensais que les demandes de résolution d'exercices passeraient mieux :D
C'était mal joué :p


---------------
ressources pédagogiques et préparations de cours pour l'enseignement - Actualité de l'enseignement - [url=http://www.enseignons.be/forum/index.php]
Reply

Marsh Posté le 15-06-2005 à 17:12:47    

Ca reste une demande de résolution d'exercice.  
 
Tu peux donc te [:amandine75011]


---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
Reply

Marsh Posté le 15-06-2005 à 17:14:58    

Et on peut avoir des réponses dans quel cadre ???  
:)


---------------
ressources pédagogiques et préparations de cours pour l'enseignement - Actualité de l'enseignement - [url=http://www.enseignons.be/forum/index.php]
Reply

Marsh Posté le 15-06-2005 à 17:17:59    

Dans le cadre du non posage de questions
 
Et sûrement pas dans le support de scripts récupérés


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 15-06-2005 à 17:19:40    

bon ok ... tant pis alors ..  
:(
C'est dommage j'eus aimé comprendre ... :'(


---------------
ressources pédagogiques et préparations de cours pour l'enseignement - Actualité de l'enseignement - [url=http://www.enseignons.be/forum/index.php]
Reply

Marsh Posté le 15-06-2005 à 17:23:54    

nizouille a écrit :

bon ok ... tant pis alors ..  
:(
C'est dommage j'eus aimé comprendre ... :'(


Rien ne t'en empêche... [:petrus75]
 
D'ailleurs je suis bon prince, je te donne une ressource qui t'y aidera: http://www.quirksmode.org/ [:petrus75]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 15-06-2005 à 17:34:18    

Si je pose des questions, c'est acceptable ça ? :)  


---------------
ressources pédagogiques et préparations de cours pour l'enseignement - Actualité de l'enseignement - [url=http://www.enseignons.be/forum/index.php]
Reply

Marsh Posté le 15-06-2005 à 17:37:31    

Ben si tu envoi un chèque de 150 € à  
 
GatsuSat
 
12 rue Hache Effer
75 000 Mont Cul
 
dès que je recois le chèque je te répond
 
PS : Oui tu as le droit de poser des questions. Mais on va pas faire 90% du taf à ta place


Message édité par gatsusat le 15-06-2005 à 17:38:02
Reply

Marsh Posté le 15-06-2005 à 17:37:31   

Reply

Marsh Posté le 15-06-2005 à 17:44:33    

selon moi l'erreur vient de ceci :  
<script type="text/javascript">
 // <![CDATA[
 if(w3cdom && !ie5mac){
  document.getElementById('menu').style.display="none";
 }
 // ]]>
</script>
 
 
avec ceci :
function NiftyCheck(){
if(!document.getElementById || !document.createElement)
    return(false);
var b=navigator.userAgent.toLowerCase();
if(b.indexOf("msie 5" )>0 && b.indexOf("opera" )==-1)
    return(false);
return(true);
}
 
Ca me paraît le seul truc incompatible ... Je m'y connais en css php et xhtml ... mais le js c'est un peu un domaine compliqué pour moi ...  
Sinon vous connaissez un forum pour newbie  ?  
 


---------------
ressources pédagogiques et préparations de cours pour l'enseignement - Actualité de l'enseignement - [url=http://www.enseignons.be/forum/index.php]
Reply

Marsh Posté le 15-06-2005 à 19:12:09    

Après plusieurs tests (vous voyez que je suis de bonne volonté ;)),  
le problème vient du fait que les deux scripts appellent des fonctions en même temps, ce que js ne gère pas.  Possible ?
 
Quelqu'un entreverrait une solution à ce problème ?  


Message édité par nizouille le 15-06-2005 à 20:00:26

---------------
ressources pédagogiques et préparations de cours pour l'enseignement - Actualité de l'enseignement - [url=http://www.enseignons.be/forum/index.php]
Reply

Marsh Posté le 15-06-2005 à 20:17:36    

IL y a deux window.onload ... J'ai essayé de les regrouper, mais ça n'a rien donné.  
Argh, je suis tout près du but ...
 
Voici le mix des deux scripts sur le site :  
http://www.enseignons.be/dev/test/test.html
 
Les scripts incriminés sont dans le même dossier ..
Le problème, c'est quand j'essaie de retirer les deux window.onload de chaque script, et que je les mets en body.onload ... ça foire ...


Message édité par nizouille le 15-06-2005 à 20:51:57

---------------
ressources pédagogiques et préparations de cours pour l'enseignement - Actualité de l'enseignement - [url=http://www.enseignons.be/forum/index.php]
Reply

Marsh Posté le 15-06-2005 à 21:03:51    

nizouille a écrit :

IL y a deux window.onload


 :jap:  
 
Deux solutions dans ce cas:
1- Créer un wrapper, c'est à dire une fonction d'enregistrement sur window.onload qui va elle même faire le boulot des deux ex window.onload
ou
2- utiliser les gestionnaires d'évènements.
 
 
http://www.quirksmode.org
tu devrais y trouver pas mal d'informations, pour ce qui t'intéresse va voir dans Javascript > Events ;)


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 15-06-2005 à 23:12:22    

On trouve de ces trucs dans ses logs...

Reply

Marsh Posté le 15-06-2005 à 23:13:55    

Cela dit je prend bonne note du probleme dont j'ai déja la solution théorique. Un patch sera bientot dispo. si vous voulez que je vous en avertisse dites le moi.

Reply

Marsh Posté le 16-06-2005 à 00:45:36    

Oui, je veux bien.  
Je suis un fidèle de ce menu (j'ai la version 1 appliquée sur http://www.enseignons.be ;) )
La solution que j'ai trouvé est de placer window.onload=function(){
chargerMenu();
dans le final.js de l'autre script ...
mais ça ne fonctionne pas trop bien (création d'erreur js)


Message édité par nizouille le 16-06-2005 à 00:46:12

---------------
ressources pédagogiques et préparations de cours pour l'enseignement - Actualité de l'enseignement - [url=http://www.enseignons.be/forum/index.php]
Reply

Marsh Posté le 16-06-2005 à 10:24:06    

Quel est la solution théorique ? Je pourrais peut-être collaborer pour la mettre sur pied ?  


---------------
ressources pédagogiques et préparations de cours pour l'enseignement - Actualité de l'enseignement - [url=http://www.enseignons.be/forum/index.php]
Reply

Marsh Posté le 16-06-2005 à 15:56:49    

Il s'agit d'utiliser le gestionnaire d'evenement comme ici :
http://www.r-wils.com/scripts/fading/

Reply

Marsh Posté le 16-06-2005 à 19:17:34    

arf comprends po .. :(


---------------
ressources pédagogiques et préparations de cours pour l'enseignement - Actualité de l'enseignement - [url=http://www.enseignons.be/forum/index.php]
Reply

Marsh Posté le 17-06-2005 à 14:57:33    

Reply

Marsh Posté le 17-06-2005 à 15:00:28    


Pas mal, MAIS : C'est quoi tous ces &nbsp; qui n'ont rien à faire ici dans le menu ? :D

Reply

Marsh Posté le 17-06-2005 à 16:04:59    

Waw je suis responsable de la mise au jour d'une version 2.1 ;)
Je n'ai pas encore eu le temps de tester, mais je le fais dès que possible, promis.  


---------------
ressources pédagogiques et préparations de cours pour l'enseignement - Actualité de l'enseignement - [url=http://www.enseignons.be/forum/index.php]
Reply

Marsh Posté le 17-06-2005 à 18:18:39    

Au fait, ton menu ne s'affiche pas avec la version 2 de nifty corner ...  
:/  
http://pro.html.it/articoli/id_599 [...] 4/pag.html
Voili voilou ... Tiens moi au courant d'une version 2.2 ;)


---------------
ressources pédagogiques et préparations de cours pour l'enseignement - Actualité de l'enseignement - [url=http://www.enseignons.be/forum/index.php]
Reply

Marsh Posté le 17-06-2005 à 18:44:32    

Je fais un hors sujet, mais le site http://www.r-wils.com/ est vraiment superbe.

Reply

Marsh Posté le 19-06-2005 à 10:07:17    

pas de nouvelles de Mister r-wils ?  


---------------
ressources pédagogiques et préparations de cours pour l'enseignement - Actualité de l'enseignement - [url=http://www.enseignons.be/forum/index.php]
Reply

Marsh Posté le 21-06-2005 à 13:42:35    

Mister r-wils vient de prendre un projet sonant et trébuchant donc prioritaire, il faudra patienter un bon mois avant que je me risque à pondre une v2.2 !

Reply

Marsh Posté le 21-06-2005 à 13:47:47    

ton projet raphael c'est quoi ??? une chérie ??? lol

Reply

Marsh Posté le 24-06-2005 à 13:50:07    

Bonjour,
effectivement, un événement onload en écrase un autre. La solution est d'utiliser une méthode qui ajoute l'évènement :
 
function addEvent(obj,evType,fn,capt){ // ajoute un événement sans écraser l'éxistant.  
if(obj.addEventListener){obj.addEventListener(evType,fn,capt);return true;} // NS6+  
else if(obj.attachEvent)obj.attachEvent("on"+evType,fn) // IE 5+  
else {return false;}  
}  
 
et ensuite :
addEvent(window,"load",chargerMenu)
par exemple :)  
addEventListener étant la méthode DOM2

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed