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 :

Un script qui fonctionne sur IE et pas sur FF


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut Un script qui fonctionne sur IE et pas sur FF
    Bonjour à tous.

    J'ai beaucoup de mal à régler ce souci car je suis complètement dépassé. Programmant habituellement avec du VB.NET, le Jscript n'est pas mon fort. Mais là je suis tout sec parce que ça dépasse tout ce que je connais.

    Je poste ma page entière en fin de message.
    Donc sur IE pas de cousi, tout marche comme il faut. Le script (récupérer sur un site américain, désolé, j'ai perdu le lien) permet de faire un joli scroll avec des DIV. Donc sur IE otut va bien, ça monte, ça descend, ça fait tout ce que je veux.

    Arrivé sur FF, rien, que dalle, même pas un soubresseau. Mais là où je suis tout sec, c'est que je n'ai pas de message d'erreur, donc je vois même pas où peut se trouver le bidule qui lui plait pas.

    Vous pouvez m'aider ?

    Le code de ma page, comme ça, un copier coller pour des tests, c'est plus simple :
    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
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Test de scroll Jscript sur FireFox</title>
        <style type="text/css">
    .slider {position:relative; overflow:hidden; height:225px; margin-bottom:20px}    
    .slidercontent {position:absolute}
    .slidercontent .upper {border-bottom:1px solid #9ac1c9}
    .section {padding:10px}
        </style>
     
        <script type="text/jscript">
            var STARTINGOPACITY = 40;
            var SCROLLTIMER = 3;
            var SCROLLSPEED = 3;
            // handles manual scrolling of the content //
            function scrollContent(id, dir) {
                var div = document.getElementById(id);
                clearInterval(div.timer);
                var sections = div.getElementsByTagName('div');
                var length = sections.length;
                var limit;
                if (dir == -1) {
                    limit = 0;
                } else {
                    if (length > 1) {
                        limit = sections[length - 1].offsetTop;
                    } else {
                        limit = sections[length - 1].offsetHeight - div.parentNode.offsetHeight + 20;
                    }
                }
                div.style.opacity = STARTINGOPACITY * .01;
                div.style.filter = 'alpha(opacity=' + STARTINGOPACITY + ')';
                div.timer = setInterval(function() { scrollAnimate(div, dir, limit) }, SCROLLTIMER);
            }
     
            function scrollAnimate(div, dir, limit) {
                div.style.top = div.style.top || '0px';
                var top = div.style.top.replace('px', '');
                if (dir == 1) {
                    if (limit - Math.abs(top) <= SCROLLSPEED) {
                        cancelScroll(div.id);
                        div.style.top = '-' + limit + 'px';
                    } else {
                        div.style.top = top - SCROLLSPEED + 'px';
                    }
                } else {
                    if (Math.abs(top) - limit <= SCROLLSPEED) {
                        cancelScroll(div.id);
                        div.style.top = limit + 'px';
                    } else {
                        div.style.top = parseInt(top) + SCROLLSPEED + 'px';
                    }
                }
            }
            // cancel the scrolling on mouseout //
            function cancelScroll(id) {
                var div = document.getElementById(id);
                div.style.opacity = 1;
                div.style.filter = 'alpha(opacity=100)';
                clearTimeout(div.timer);
            }
        </script>
    </head>
    <body>
     
     
    <h2>Text Scroller - <span class="link" onmouseover="scrollContent('textslider',-1)" onmouseout="cancelScroll('textslider')">
    Up</span> | <span class="link" onmouseover="scrollContent('textslider',1)" onmouseout="cancelScroll('textslider')">
    Down</span></h2>
      <div class="slider">
        <div class="slidercontent" id="textslider">
          <div id="textsection-1" class="section">
     
    Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
    Why do we use it?It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).
     
    Where does it come from?Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32.
     
    The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for those interested. Sections 1.10.32 and 1.10.33 from "de Finibus Bonorum et Malorum" by Cicero are also reproduced in their exact original form, accompanied by English versions from the 1914 translation by H. Rackham.
     
          </div>
        </div>
      </div>
    </body>
    </html>

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 162
    Par défaut
    Bojour,

    Visiblement, FireFox n'interprête pas la balise de script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <script type="text/jscript">
    ...
    </script>
    Ca fonctionne en la remplaçant par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <script type="text/javascript">
    ...
    </script>
    A+

  3. #3
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    Citation Envoyé par BaBeuH Voir le message
    Visiblement, FireFox n'interprête pas la balise de script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script type="text/jscript">
    En effet, JScript est l'implémentation d'ECMAScript propre à Microsoft.

  4. #4
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Merci les gars, ça marche bien maintenant.

    Mais je trouve que le Renard est bien susceptible sur ce coup là, pour quelques lettres.....

    Bonne soirée à tous.

  5. #5
    Inactif  

    Profil pro
    Inscrit en
    Mai 2010
    Messages
    345
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 345
    Par défaut
    Au non au contraire, le renard est propre, c'est IE qui est un gros souillon en acceptant tout et n'importe quoi.
    Firefox essaye de respecter les normes. Et nullepart dans les normes il est écrit : "text/Jscript"

  6. #6
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Citation Envoyé par dukej Voir le message
    Au non au contraire, le renard est propre, c'est IE qui est un gros souillon en acceptant tout et n'importe quoi.
    Firefox essaye de respecter les normes. Et nullepart dans les normes il est écrit : "text/Jscript"
    J'étais super étonné qu'il n'y ait pas une réponse de ce genre plus tôt et j'avais dit, pour une fois, je ne vais pas tordre le cou du renard.

    C'est quand même dingue d'insister en permanence sur la soi-disant propreté de ce navigateur. C'est un navigateur comme les autres qui ne respecte pas plus les standards que les autres et surtout qui a la désagréable idée de me faire bosser deux fois.

    Mais en plus, IE est encore utilisé par 60 % de la population et FF est une véritable passoire pour le phishing. Bref, je ne comprendrais jamais pourquoi on inflige à la population un tel désagrément.

    Rien que la gestion du cache est pourrie : sur IE je coche la case "rafraichir à chaque visite" et là, je vois ma page belle toute neuve.
    J'ai passé une heure l'autre jour à chercher la même case sur FF, me disant que si l'un le faisait, l'autre aussi et pot de balle, j'ai pas trouvé. Mais bien sûr, c'est moi qui ne voit pas le truc, j'en suis sûr......

    Bref, faut arrêter avec les standards machin et le respect de bidule et IE c'est pourri et FF c'est super bien.
    Moi je vois le truc de base : double boulot pour pas grand chose. Aprés tout, IE étais là avant, y a qu'à ce conformer à ce qu'il fait.

    Et surtout, comment expliquer au lambda de base, COTOREP de l'informatique, mais client qui paie, qu'il va payer double pour le même boulot ?
    Le créateur du REnard, il a pas du avoir beaucoup de client à satisfaire, lui, sinon, jamais il aurait fait un truc pareil. Mes clients, quand je leur raconte qu'il va falloir payer double, il me dise : non, non, un seul navigateur alors et va leur expliquer que ça marche pas comme ça.

    Bref, merci pour le coup de main et @ la prochaine.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Script qui fonctionne sous FireFox mais pas sous IE
    Par Sebastien14 dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 27/01/2009, 10h32
  2. script qui marche en locale mais pas sur le web
    Par koKoTis dans le forum Langage
    Réponses: 7
    Dernier message: 08/09/2008, 16h07
  3. Réponses: 1
    Dernier message: 15/04/2008, 14h03
  4. [2.0] connexion qui fonctionne chez moi mais pas sur un autre pc
    Par Lorenzeb dans le forum Accès aux données
    Réponses: 1
    Dernier message: 13/09/2006, 17h47
  5. code qui fonctionne en local et pas sur le net
    Par vraipolite dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/08/2005, 10h10

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