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

jQuery Discussion :

[jQuery]get sous safari


Sujet :

jQuery

  1. #1
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut [jQuery]get sous safari
    Bonsoir tous le monde depuis un petit moment je cherche le pourquoi du comment d'une requête ajax sous safari ne voulant pas fonctionner.
    J'ai cependant trouver une alternative mais qui ne fais que replacer mon url en get classique (plus d'ajax quoi).
    Je souhaite trouver l'erreur que j'ai commise :

    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
    jQuery('a.getlang').click(function (){ 
    		if (jQuery.browser.safari) {
    		   jQuery('a.getlang').each(function(lg){
    		   	var lg = jQuery(this).attr('hreflang');
    		   		var thislink = jQuery(this);
    		   		thislink.attr({
    		   			'href': '?strLangue=' + lg
    		   		});
    		   });
     
    		}else{
    		var lg = jQuery(this).attr("hreflang");
    		jQuery.ajax({
    		    type:'get',
    			data: "strLangue="+lg,
    		    cache: false,
    		    error: function(){
     
    		    },
    		    beforeSend: function(){
    					jQuery("#contenu, #menu").hide();
    					jQuery("#content").html('<img id="imgLangLoad" src="/framework/img/35-1.gif" alt="Magix CMS" width="66px" height="66px" />');
    				},
    		    success: function() {
    					jQuery("#contenu").show();
    				}
    		});
    		}
    	});
    mon html :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <li><a href="" hreflang="fr" id="fr" class="getlang"></a></li>
    	   <li><a href="" hreflang="en" id="en" class="getlang"></a></li>
    un truc bizarre si je place un alert dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    error: function(){
     
    		    },
    il me le retourne successivement ce qui me laisse penser qu'une erreur existe bien mais firebug ne detecte rien sous FF.

  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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    l'utilisation de click sur le href suppose l'adjonction d'un return false à la fin
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    href="javascript: void(0);"

  3. #3
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    apparemment cela fonctionne sous safari maintenant,
    j'ai fais quelque modif, j'ai du utiliser ce que j'avais fais plus haut mais cette fois pour IE qui n'applique pas immédiatement ce que contient l'ajax mais uniquement si je recharge une fois la page
    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
    jQuery('a.getlang').click(function (){
     
    		var lg = jQuery(this).attr("hreflang");
     
    		if (jQuery.browser.msie) {
    		   jQuery('a.getlang').each(function(lg){
    		   	var lg = jQuery(this).attr('hreflang');
    		   		var thislink = jQuery(this);
    		   		thislink.attr({
    		   			'href': '?strLangue=' + lg
    		   		});
    		   });
     
    		}else{
    			jQuery.ajax({
    			    type:'get',
    				url: "/admin",
    				data: "strLangue="+lg,
    			    async: false,
    			    error: function(){
    			    	alert("Error request language");
    			    },
    			    beforeSend: function(){
    						jQuery("#contenu, #menu").hide();
    						jQuery("#content").html('<img id="imgLangLoad" src="/framework/img/35-1.gif" alt="Magix CMS" width="66px" height="66px" />');
    					},
    			    success: function() {
     
    						jQuery("#contenu").show('fast');
    					}
    			});
    		}
    	});
    Pensez-vous qu'un return false arrangerai ce petit bug et une meilleur disposition des condition genre si tu fais pas l'ajax tu fais un get classique ???
    comment faire une tel condition basiquement parlant
    je suppose que c'est du au fait que le href est vide et rempli par jquery

  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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    essaye de rajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function(){return false;}
    la la fin de l'attribution du href ?

  5. #5
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    En faites j'aimerai garder uniquement la partie ajax donc que:
    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
    jQuery.ajax({
    			    type:'get',
    				url: "/admin",
    				data: "strLangue="+lg,
    			    async: false,
    			    error: function(){
    			    	alert("Error request language");
    			    },
    			    beforeSend: function(){
    						jQuery("#contenu, #menu").hide();
    						jQuery("#content").html('<img id="imgLangLoad" src="/framework/img/35-1.gif" alt="Magix CMS" width="66px" height="66px" />');
    					},
    			    success: function() {
     
    						jQuery("#contenu").show('fast');
    					}
    			});
    fonctionne avec pratiquement tous les navigateurs et enlevé la partie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    if (jQuery.browser.msie) {
    		   jQuery('a.getlang').each(function(lg){
    		   	var lg = jQuery(this).attr('hreflang');
    		   		var thislink = jQuery(this);
    		   		thislink.attr({
    		   			'href': '?strLangue=' + lg
    		   		});
    		   });
     
    		}
    Mais afin d'éviter de bloquer mes utilisateurs qui aurai un ti bug sous leur navigateur je souhaite tout de même intégrer une série de test.

    Donc si ajax fonctionne return true, si ajax fonctionne pas faire alors un petit hack comme j'avais créer précédemment pour IE et safari.

    Penser vous que mon bug est simplement du au faites que je n'ai rien dans le href html ?? ou simplement en indiquant un return false a la fin de l'ajax.

    Désolé de posé autant de question mais j'ai pas encore tester suis au boulot pour l'instant :p

Discussions similaires

  1. JQuery.get() avec PHP sous IE
    Par e-zaz dans le forum jQuery
    Réponses: 5
    Dernier message: 23/11/2011, 13h46
  2. asp:Menu ne fonctionne pas sous safari
    Par CUCARACHA dans le forum ASP.NET
    Réponses: 8
    Dernier message: 31/03/2008, 15h15
  3. Problème d'affichage sous Safari
    Par jason69 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 03/08/2007, 11h50
  4. Variables 4D sous Safari
    Par brazilia28 dans le forum 4D
    Réponses: 1
    Dernier message: 20/06/2007, 12h21
  5. Récupérer les paramètres "GET" sous forme de String
    Par vanitom dans le forum Langage
    Réponses: 2
    Dernier message: 22/02/2007, 15h00

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