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 :

Mélanger des scripts


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Mélanger des scripts
    Bonjour.

    J'avais quelques scripts qui figuraient sur toutes mes pages.

    Je me disais que ce serait plus efficace si je mettais tous ces scripts dans un fichier .js Cependant, après avoir fait le trasfert, ceci ne marhe plus. Tout fonctionnait très bien individuellement. Voici le script que j'ai mis dans mon .js
    J'ai vraiment besoin de votre aide, je ne suis pas très bon en javascript. Je vous serais très reconnaissant. Merci d'avance.


    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
     
    //<![CDATA[ **************** Refaire les frames et mettre printer friendly
    if (this.window.name=="printer"){
    	document.write('<div align="center"><p class="H1">'+document.title+'<\/p><p class="hidden"> This is a printer friendly page.  Please close this window to return to the Blue Dance web page.<br><\/div>');
    }
    if (this.window.name=="map"){}
    else if (parent.frames.length < 1){
       document.write('<div align="center"><b><font color="black" size="4">You have acessed this page without visiting the main frame.  You will not have access to the whole web page unless you visit the Blue Dance home page.<\/font><\/b><b><font color="#000080" size="3"><br \/><a href="..\/..\/index.html">http:\/\/www.bluedance.info<\/a><\/font><\/b><br><\/div>');
       document.location.href = 'http:/www.bluedance.info';
    }
    //]]>
     
    //<![CDATA[ **************** Pour faire accepter getelementbyid dans les vieux browsers
    if(!document.getElementById){
      if(document.all)
      document.getElementById=function(){
        if(typeof document.all[arguments[0]]!="undefined")
        return document.all[arguments[0]]
        else
        return null
      }
      else if(document.layers)
      document.getElementById=function(){
        if(typeof document[arguments[0]]!="undefined")
        return document[arguments[0]]
        else
        return null
      }
    }
    //]]>
     
    //<![CDATA[ **************** Montrer ou cacher le menu noir
    function hide() {
    document.getelementbyid('menu').style.visibility = "hidden"; 
    {
    function show() {
    document.getelementbyid('menu').style.visibility = "visible"; 
    }
    //]]>
     
    //<![CDATA[ **************** Ignorer les erreurs
    function stoperror() {
      return true;
    }
    window.onerror = stoperror;
    //<![CDATA[

  2. #2
    Membre expérimenté
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Points : 1 729
    Points
    1 729
    Par défaut
    Salut,

    Vu que tu le mets dans un .js, tu n'as plus besoin de prendre les precautions de validité du xhtml (sections CDATA et '\' devant chaque '/')
    Cela dit ça marcherait quand même en l'état
    Peut etre un probleme au niveau de l'inclusion de ce .js?

  3. #3
    Candidat au Club
    Inscrit en
    Janvier 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci pour votre réponse très rapide.

    Et merci aussi pour le petit conseil.

    Cependant, je ne crois pas que ce soit un problème d'inclusion du js car lorsque j'efface tout ce qu'il y a dans le fichire .js, le message d'erreur de IE ne s'affiche pas.

    je l'ai inclus de cette façon, qui je crois être la bonne:
    <script type="text/javascript" language="JavaScript" src="scripts/autres.js">

    Le message d'erreur que je rencontre avec la lecture du js est:
    (si ça peux vous aider)

    Le message fait référence à la page web qui appèle le script.

    Line: 47
    char: 12
    Error: Expected '}'
    Code: 0

    Il y a 46 lignes dans mon script.

    Merci tout de même

    P.S. J'ai enlevé ce que tu disais qui était inutile.

  4. #4
    Membre expérimenté
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Points : 1 729
    Points
    1 729
    Par défaut
    Et en fermant la balise script?

    <script type="text/javascript" src="scripts/autres.js"></script>

  5. #5
    Candidat au Club
    Inscrit en
    Janvier 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Oui oui, j'ai bien fermé ma balise. Désolé, j'ai oublié de le préciser.

    Mais j'ai trouvé qu'en enlevant les fonctions show() et hide(), ça marche, alors je vais les enlever jusqu'à ce que je trouves pourquoi!

    Merci pour ton aide.

  6. #6
    Membre expérimenté
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Points : 1 729
    Points
    1 729
    Par défaut
    Ah, c'est pas "getelementbyid" à changer en "getElementById" ?

  7. #7
    Candidat au Club
    Inscrit en
    Janvier 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Non, malheureusement... J'ai essayé votre suggestion mais en vain...

    Mai, par contre, j'ai remplacé mes deux fonctions show() et hide() par celles-ci et ça roule comme en cadillac... sans erreur:

    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
    //**************** Montrer ou cacher le menu noir
    var browserType;
     
    if (document.layers) {browserType = "nn4"}
    if (document.all) {browserType = "ie"}
    if (window.navigator.userAgent.toLowerCase().match("gecko")) {
       browserType= "gecko"
    }
     
    function hide() {
      if (browserType == "gecko" )
         document.poppedLayer = 
             eval('document.getElementById(\'menu\')');
      else if (browserType == "ie")
         document.poppedLayer = 
            eval('document.all[\'menu\']');
      else
         document.poppedLayer =   
            eval('document.layers[\'`menu\']');
      document.poppedLayer.style.visibility = "visible";
    }
     
    function show() {
      if (browserType == "gecko" )
         document.poppedLayer = 
             eval('document.getElementById(\'menu\')');
      else if (browserType == "ie")
         document.poppedLayer = 
             eval('document.all[\'menu\']');
      else
         document.poppedLayer = 
             eval('document.layers[\'`menu\']');
      document.poppedLayer.style.visibility = "hidden";
    }
    Je ne croyais pas que je serais obligé d'utiliser cette méthode puisque la fonction d'avant vise justement la "cross-browser"ibilité du getelementbyid. Mais enfin, si ça marche... Je crois, que ces deux scripts ne s'entendaient simplement pas...

    Tabarouette, c'est à rien y comprendre (pour moi)...

    Je ne sais pas si on peut dire que cette question est résolue?

    Merci encore pour ton aide. Du monde serviable c'est rare mais ils sont là!

  8. #8
    Membre expérimenté
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Points : 1 729
    Points
    1 729
    Par défaut
    Bizarre, le getElementById() est aujourd'hui la methode la plus utilisée pour acceder un élément, c'est de loin la plus standard et ça devrait marcher sur tous les navigateurs...
    Là où ça marche peut être pas, c'est quand un élément est créé via un document.write..

    Merci encore pour ton aide. Du monde serviable c'est rare mais ils sont là!
    Padkoi, en demandant des conseils vous permettez à des personnes en manque de confiance d'étaler leur science, c'est tout bueno pour leur égo.

  9. #9
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 650
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 142
    Points
    11 142
    Par défaut
    bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function hide() {
    document.getelementbyid('menu').style.visibility = "hidden"; 
    {
    l'accolade est ouverte au lieu d'être fermée

    et remplace les getelementbyid() par getElementById()

  10. #10
    Candidat au Club
    Inscrit en
    Janvier 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Ayoye!!

    Je n'en reviens pas!!

    Bon bien, merci... Il a fallu être trois pour solutionner cela!

    hehe

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

Discussions similaires

  1. Exécuter des script sous un utilisateur défini...
    Par nguthans dans le forum Apache
    Réponses: 4
    Dernier message: 21/02/2006, 14h32
  2. Avantages des scripts Perl par rapport au script UNIX ?
    Par MonsieurAk dans le forum Langage
    Réponses: 4
    Dernier message: 23/01/2006, 14h34
  3. Réponses: 4
    Dernier message: 30/11/2005, 19h13
  4. Des scripts très communiquant
    Par shinux2004 dans le forum Langage
    Réponses: 2
    Dernier message: 19/07/2005, 18h05
  5. Réponses: 1
    Dernier message: 23/02/2005, 11h23

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