Partage
  • Partager sur Facebook
  • Partager sur Twitter

[AJAX] Problème pour inclure un fichier javascript

    26 février 2009 à 16:36:30

    Bonjour tout le monde, je me suis mis à l'Ajax depuis peu de temps à l'aide d'un livre et je suis actuellement bloqué à cause d'un petit probleme.

    Mon probleme est d'inclure un fichier js dans mon code, afin de ne pas avoir un code de 3km de javascript. J'ai testé le code en marquant le code normalement c'est à dire dans un seul fichier html et il marche, mais dés que je sépare les fichiers mon code ne fonctionne plus :(

    voila mes deux fichiers afin que vous puissiez éclairer ma lanterne.

    Le fichier browser.js :
    // Classe de definition de Browser
    		function Browser(){
    			//Méthode Browser
    			this.displayNavigatorInfo = function(){
    				document.write('<b>navigator.appVersion : </b>');
    				document.write(navigator.appVersion+'<br/>');
    				document.write('<b>navigator.userAgent : </b>');
    				document.write(navigator.userAgent+'<br/>');
    			}
    			//detection du systeme d'exploitation(plate forme)
    			if ( navigator.appVersion.indexOf('Win') != -1 )
    				this.win = true;
    			if ( navigator.appVersion.indexOf('Mac') != -1 )
    				this.mac = true;
    			if ( navigator.appVersion.indexOf('Linux') != -1 )
    				this.linux = true;
    			if ( this.win ) 
    				this.plateForme = 'Windows';
    			if ( this.mac ) 
    				this.plateForme = 'Macintosh';
    			if ( this.linux ) 
    				this.plateForme = 'Linux';
    			//detection du navigateur et de sa version
    			if ( navigator.userAgent.indexOf('Opera') != -1 )
    				this.opera = true;
    			if ( navigator.userAgent.indexOf('Konqueror') != -1 )
    				this.konqueror = true;
    			if ( navigator.userAgent.indexOf('Safari') != -1 )
    				this.safari = true;
    			if ( navigator.userAgent.indexOf('Firefox/1.0') != -1 )
    				this.ff10 = true;
    			if ( navigator.userAgent.indexOf('Firefox/1.5') != -1 )
    				this.ff15 = true;
    			if ( navigator.userAgent.indexOf('Netscape/7.0') != -1 )
    				this.netscape = true;
    			if ( navigator.userAgent.indexOf('MSIE 7') != -1 )
    				this.ie7 = true;
    			if ( navigator.userAgent.indexOf('MSIE 6') != -1 )
    				this.ie6 = true;
    			if ( this.opera )
    				this.navigateur = 'Opera';
    			if ( this.konqueror )
    				this.navigateur = 'Konqueror';
    			if ( this.safari )
    				this.navigateur = 'Safari';
    			if ( this.ff10 || this.ff15 )
    				this.navigateur = 'Firefox';
    			if ( this.netscape )
    				this.navigateur = 'Netscape';
    			if ( this.ie6 || this.ie7 )
    				this.navigateur = 'Internet Explorer';
    			if ( !this.navigateur )
    				this.navigateur = 'inconnu';
    		}
    


    et le fichier opaciter.html :
    <html>
    	<body>
    		<div id="magenta100" style="background-color: #0FF;">
    			Une DIV avec un fond magenta à 100%
    		</div>
    		<div id="magenta50" style="background-color: #0FF;">
    			Une DIV avec un fond magenta à 50%
    		</div>
    		
    	<script type="text/javascript" src="browser.js"></script>
    	<script type="text/javascript">
    		this.setOpacity = function(el, valeur){
    			if (this.ie7 || this.ie6){
    				var op = parseInt(valeur*100);
    				el.style.filter = 'alpha(opacity='+op+')';
    			}
    			else {
    				el.style.opacity = valeur;
    			}
    		}
    		
    		function $(el){
    			return document.getElementById(el);
    		}
    		var browser = new Browser();
    		browser.setOpacity($('magenta50'), 0.5);
    	</script>
    	</body>
    </html>
    
    Voila je vous remercie d'avance pour votre aide!
    
    • Partager sur Facebook
    • Partager sur Twitter
      27 février 2009 à 13:13:08

      J'ai pas compris le rapport avec Ajax...

      Pourquoi t'as pas de <head></head> dans ton code ?
      • Partager sur Facebook
      • Partager sur Twitter
        28 février 2009 à 13:42:08

        Bah si tu veux c'est un partie javascript qui me sera utile plutard en ajax mais la si tu veux il n'y a pas de script ajax proprement parler juste du javascript.

        Apres pour les <head> vu que c'est juste un test je les ai pas mis car il n'avait pas d'importance? mais meme en les rajoutants j'ai toujours le même probleme.

        donc up pour que quelqu'un puisse m'aider à résoudre se probleme. merci
        • Partager sur Facebook
        • Partager sur Twitter
          28 février 2009 à 16:02:26

          J'utilise Prototype pour l'AJAX et les effets, doncv je n'ai pas de réponse à ta question mais peut-être une piste...

          Pour importer du JS avec Prototype il faut ajouter "evalScripts: true;" à la fonction UPDATE, si non le script n'est pas interprété mais considéré comme du XML de base.

          Note : pour que ça fonctionne il faut écrire les fonctions de cette façon MaFonction = function() {instructions;} (et pas function MaFonction(){instructions;} )


          source : http://www.prototypejs.org/api/ajax/updater
          • Partager sur Facebook
          • Partager sur Twitter

          [AJAX] Problème pour inclure un fichier javascript

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown