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 -
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.
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.
A voir également:
- Problème javascript.
- Telecharger javascript - Télécharger - Langages
- A javascript error occurred in the main process - Forum Handicap / Accessibilté
- Afficher un tableau javascript en html ✓ - Forum Javascript
- Javascript arrondi - Forum Javascript
- Javascript arrondi après la virgule ✓ - Forum Windows
2 réponses
Essaies de mettre return false; après pushState()
Aka13
Messages postés
184
Statut
Membre
8
Déjà essayer sa change rien
J'ai trouvé ce bout de code qui marche très bien:
Donc je pense que peut être il faut mettre le pushstate avant l'AJAX ou utiliser $.ajax et non la methode .load();
$(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();