Problème javascript.

Résolu
Aka13 Messages postés 184 Statut Membre -  
aladin07 Messages postés 277 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je n'arrive pas à associer deux fonction javascript ensembles il y a que une ou l'autre fonction qui va mais jamais les deux en même temps.

Voici mes fonctions :

$(document).ready(function() {
$('#menu a').click(function() {
//PREMIERE FONCTION
var page = $(this).attr('href');
$('#content').load('content/' + page + '.php');
return false;

//DEUXIEME FONCTION
window.history.pushState("", "", "/" + page);
});
});

Si je supprime une des deux fonctions l'autre fonctionne parfaitement donc il n'y à pas de problème dans les fonctions mais un problème pour les faire fonctionner ensemble.

2 réponses

  1. aladin07 Messages postés 277 Date d'inscription   Statut Membre Dernière intervention   30
     
    Essaies de mettre return false; après pushState()
    0
    1. Aka13 Messages postés 184 Statut Membre 8
       
      Déjà essayer sa change rien
      0
  2. aladin07 Messages postés 277 Date d'inscription   Statut Membre Dernière intervention   30
     
    J'ai trouvé ce bout de code qui marche très bien:

    $(function(){
    	var replacePage = function(url) {
    		$.ajax({
    			url: url,
    			type: 'get',
    			dataType: 'html',
    			success: function(data){
    				var dom = $(data);
    				var title = dom.filter('title').text();
    				var html = dom.filter('.container').html();
    				$('title').text(title);
    				$('.container').html(html);
    			}
    		});
    	}
    
    	$('a').live('click', function(e){
    		history.pushState(null, null, this.href);
    		replacePage(this.href);
    		e.preventDefault();
    	});
    
    	$(window).bind('popstate', function(){
    		replacePage(location.pathname);
    	});
    });


    Donc je pense que peut être il faut mettre le pushstate avant l'AJAX ou utiliser $.ajax et non la methode .load();
    0