IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Script inactif sous firefox


Sujet :

JavaScript

  1. #1
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 10
    Par défaut Script inactif sous firefox
    Bonjour. J'ai récupéré ce script qui m'intéresse beaucoup mais il ne fonctionne que sous IE et netscape et pas sous firefox. Quelqu'un sait-il pourquoi et comment le faire fonctionner avec tous les navigateurs ?
    Merci beaucoup.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
     
    <SCRIPT language=JavaScript>
    <!--
    function MM_dragLayer(objNS,objIE,hL,hT,hW,hH,toFront,dropBack,cU,cD,cL,cR,targL,targT,tol,dropJS,et,dragJS) { //v2.0
      //Copyright 1998 Macromedia, Inc. All rights reserved.
      var i,j,aLayer,retVal,curDrag=null,NS=(navigator.appName=='Netscape'), curLeft, curTop;
      if (!document.all && !document.layers) return false;
      retVal = true; if(!NS && event) event.returnValue = true;
      if (MM_dragLayer.arguments.length > 1) {
        curDrag = eval((NS)?objNS:objIE); if (!curDrag) return false;
        if (!document.allLayers) {
          document.allLayers = new Array();
          with (document) {
            if (NS) {
              for (i=0; i<layers.length; i++) allLayers[i]=layers[i];
              for (i=0; i<allLayers.length; i++) {
                if (allLayers[i].document && allLayers[i].document.layers)
                  for (j=0; j<allLayers[i].document.layers.length; j++)
                    allLayers[allLayers.length] = allLayers[i].document.layers[j];
            } } else {
              for (i=0; i<all.length; i++)
                if (all[i].style != null && all[i].style.position)
                  allLayers[allLayers.length] = all[i];
        } } }
        curDrag.MM_dragOk=true; curDrag.MM_targL=targL; curDrag.MM_targT=targT;
        curDrag.MM_tol=Math.pow(tol,2); curDrag.MM_hLeft=hL; curDrag.MM_hTop=hT;
        curDrag.MM_hWidth=hW; curDrag.MM_hHeight=hH; curDrag.MM_toFront=toFront;
        curDrag.MM_dropBack=dropBack; curDrag.MM_dropJS=dropJS;
        curDrag.MM_everyTime=et; curDrag.MM_dragJS=dragJS;
        curDrag.MM_oldZ = (NS)?curDrag.zIndex:curDrag.style.zIndex;
        curLeft= (NS)?curDrag.left:curDrag.style.pixelLeft; curDrag.MM_startL = curLeft;
        curTop = (NS)?curDrag.top:curDrag.style.pixelTop; curDrag.MM_startT = curTop;
        curDrag.MM_bL=(cL<0)?null:curLeft-cL; curDrag.MM_bT=(cU<0)?null:curTop -cU;
        curDrag.MM_bR=(cR<0)?null:curLeft+cR; curDrag.MM_bB=(cD<0)?null:curTop +cD;
        curDrag.MM_LEFTRIGHT=0; curDrag.MM_UPDOWN=0; curDrag.MM_SNAPPED=false; //use in your JS!
        document.onmousedown = MM_dragLayer; document.onmouseup = MM_dragLayer;
        if (NS) document.captureEvents(Event.MOUSEDOWN|Event.MOUSEUP);
      } else {
        var theEvent = ((NS)?objNS.type:event.type);
        if (theEvent == 'mousedown') {
          var aLayer, maxDragZ=null;
          var mouseX = (NS)?objNS.pageX : event.clientX + document.body.scrollLeft;
          var mouseY = (NS)?objNS.pageY : event.clientY + document.body.scrollTop;
          document.MM_maxZ = 0;
          for (i=0; i<document.allLayers.length; i++) {
            aLayer = document.allLayers[i];
            var aLayerZ = (NS)?aLayer.zIndex:aLayer.style.zIndex;
            if (aLayerZ > document.MM_maxZ) document.MM_maxZ = aLayerZ;
            var isVisible = (((NS)?aLayer.visibility:aLayer.style.visibility).indexOf('hid') == -1);
            if (aLayer.MM_dragOk != null && isVisible) with (aLayer) {
              var parentL=0; var parentT=0;
              if (!NS) { 
                parentLayer = aLayer.parentElement;
                while (parentLayer != null && parentLayer.style.position) {
                  parentL += parentLayer.offsetLeft;
                  parentT += parentLayer.offsetTop;
                  parentLayer = parentLayer.parentElement;
              } }
              var tmpX=mouseX-(((NS)?pageX:style.pixelLeft+parentL)+MM_hLeft);
              var tmpY=mouseY-(((NS)?pageY:style.pixelTop +parentT)+MM_hTop);
              var tmpW = MM_hWidth;  if (tmpW <= 0) tmpW += ((NS)?clip.width :offsetWidth);
              var tmpH = MM_hHeight; if (tmpH <= 0) tmpH += ((NS)?clip.height:offsetHeight);
              if ((0 <= tmpX && tmpX < tmpW && 0 <= tmpY && tmpY < tmpH) &&
                 (maxDragZ == null || maxDragZ <= aLayerZ)) {
                curDrag = aLayer; maxDragZ = aLayerZ;
          } } }
          if (curDrag) {
            document.onmousemove = MM_dragLayer; 
            if (NS) document.captureEvents(Event.MOUSEMOVE);
            curLeft = (NS)?curDrag.left:curDrag.style.pixelLeft;
            curTop = (NS)?curDrag.top:curDrag.style.pixelTop;
            MM_oldX = mouseX - curLeft; MM_oldY = mouseY - curTop;
            document.MM_curDrag = curDrag;  curDrag.MM_SNAPPED=false;
            if(curDrag.MM_toFront) {
              eval('curDrag.'+((NS)?'':'style.')+'zIndex=document.MM_maxZ+1');
              if (!curDrag.MM_dropBack) document.MM_maxZ++;
            }
            retVal = false; if(!NS) event.returnValue = false;
        } } else if (theEvent == 'mousemove') {
          if (document.MM_curDrag) with (document.MM_curDrag) {
            var mouseX = (NS)?objNS.pageX : event.clientX + document.body.scrollLeft;
            var mouseY = (NS)?objNS.pageY : event.clientY + document.body.scrollTop;
            newLeft = mouseX-MM_oldX; newTop  = mouseY-MM_oldY;
            if (MM_bL!=null) newLeft = Math.max(newLeft,MM_bL);
            if (MM_bR!=null) newLeft = Math.min(newLeft,MM_bR);
            if (MM_bT!=null) newTop  = Math.max(newTop ,MM_bT);
            if (MM_bB!=null) newTop  = Math.min(newTop ,MM_bB);
            MM_LEFTRIGHT = newLeft-MM_startL; MM_UPDOWN = newTop-MM_startT;
            if (NS) {left = newLeft; top = newTop;}
            else {style.pixelLeft = newLeft; style.pixelTop = newTop;}
            if (MM_dragJS) eval(MM_dragJS);
            retVal = false; if(!NS) event.returnValue = false;
        } } else if (theEvent == 'mouseup') {
          document.onmousemove = null;
          if (NS) document.releaseEvents(Event.MOUSEMOVE);
          if (NS) document.captureEvents(Event.MOUSEDOWN); //for mac NS
          if (document.MM_curDrag) with (document.MM_curDrag) {
            if (typeof MM_targL =='number' && typeof MM_targT == 'number' &&
                (Math.pow(MM_targL-((NS)?left:style.pixelLeft),2)+
                 Math.pow(MM_targT-((NS)?top:style.pixelTop),2))<=MM_tol) {
              if (NS) {left = MM_targL; top = MM_targT;}
              else {style.pixelLeft = MM_targL; style.pixelTop = MM_targT;}
              MM_SNAPPED = true; MM_LEFTRIGHT = MM_startL-MM_targL;
              MM_UPDOWN = MM_startT-MM_targT;
            }
            if (MM_everyTime || MM_SNAPPED) eval(MM_dropJS);
            if(MM_dropBack) {if (NS) zIndex = MM_oldZ; else style.zIndex = MM_oldZ;}
            retVal = false; if(!NS) event.returnValue = false;
          } 
          document.MM_curDrag = null;
        }
        if (NS) document.routeEvent(objNS);
      }
      return retVal;
    }
    //-->
    </SCRIPT>

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    merci dreamweaver ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 10
    Par défaut
    Là n'est pas la question. Oui merci Dreamweaver.

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    deja NS et pas FFX c'est surprenant ...
    tu as une erreur ?
    que dit ma console ffx ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    Pourrais-tu expliciter la fonction de ce script ? Peut-être existe-t-il des méthodes plus standard que celle-ci, générée par un programme vieillissant ?

  6. #6
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 10
    Par défaut
    Pardon pour la réaction nerveuse. Fatigue ...
    C'est un script qui permet de déplacer des calques sur la page à la position que l'on veut (remettre une séquence en ordre ... et imprimer la page quand les élèves ont mis dans l'ordre les éléments). Sur chaque calque s'affiche une image.
    Je n'ai pas à ma connaissance d'erreur sous firefox, les calques ne sont simplement pas déplacables.
    Merci de vos réponses.

  7. #7
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    Bon, il y a plusieurs erreurs dans la détection de navigateur. Ce code semble assez vieux (4 ou 5 ans) et Firefox n'existait pas encore sous la forme que nous lui connaissons aujourd'hui. Internet Explorer si. Ce code fonctionne exclusivement sur Internet Explorer et Netscape Navigator. Pas étonnant qu'il ne fonctionne pas sous Firefox. Il y a un return false; en début de code qui fait que Firefox n'a pas d'erreur.

    Voici ce qu'il faut donc faire :
    - changer le système de détection de navigateur ;
    - modifier le code pour qu'il soit compatible avec les navigateurs modernes (utiliser DOM est une excellente chose) et plus avec ce code vieillot (à moins que tu ne veuilles que Netscape 4 soit également supporté).

  8. #8
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 10
    Par défaut
    Ok merci bien. Je ne maîtrise pas assez le js pour modifier le code donc je vais chercher d'autres outils pour tenter de faire la même chose.

    Edit : Si quelqu'un est motivé, je ne trouve pas de scripts équivalents ...

Discussions similaires

  1. LinkButton, select edit etc. inactif sous firefox
    Par nsanabi dans le forum ASP.NET
    Réponses: 4
    Dernier message: 30/05/2010, 00h20
  2. post back inactif sous firefox
    Par igorzup dans le forum ASP.NET
    Réponses: 2
    Dernier message: 15/04/2009, 09h43
  3. Script fonctionne sous firefox et safari mais pas sous IE !
    Par philodido dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/01/2009, 11h21
  4. anim flash (script) ramant sous Firefox, pas sous IE
    Par leppäkerttu dans le forum Flash
    Réponses: 0
    Dernier message: 11/03/2008, 22h04
  5. [MySQL] Mon script marche sous Firefox et pas sous IE
    Par fanshak dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 02/12/2006, 23h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo