Problème javascript.

Résolu/Fermé
Aka13 Messages postés 153 Date d'inscription jeudi 18 juin 2009 Statut Membre Dernière intervention 8 février 2016 - 8 juil. 2012 à 23:16
aladin07 Messages postés 277 Date d'inscription vendredi 13 avril 2012 Statut Membre Dernière intervention 30 septembre 2012 - 9 juil. 2012 à 01:23
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

aladin07 Messages postés 277 Date d'inscription vendredi 13 avril 2012 Statut Membre Dernière intervention 30 septembre 2012 30
9 juil. 2012 à 01:07
Essaies de mettre return false; après pushState()
0
Aka13 Messages postés 153 Date d'inscription jeudi 18 juin 2009 Statut Membre Dernière intervention 8 février 2016 8
9 juil. 2012 à 01:08
Déjà essayer sa change rien
0
aladin07 Messages postés 277 Date d'inscription vendredi 13 avril 2012 Statut Membre Dernière intervention 30 septembre 2012 30
9 juil. 2012 à 01:23
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