Bonsoir à tous,
j'ai suivi ce tuto que j'ai trouvé sur le net
http://www.dailymotion.com/video/x7oghd\_tutoriel-video-navigation-ajax\_lifestyle
tuto très bien, comme d'habitude chez grafikart :)
mon seul problème avec ce script c'est que sous IE ça ne fonctionne pas...
Savez-vous m'aider?
ps: javascript de mon IE est bien activé ;)
voici mon code :)
$(document).ready(function(){
$("#lasuite a").click(function(){
page=($(this).attr("href"));
$.ajax({
url: page,
cache: false,
success:function(html){
afficher(html);
},
error:function(XMLHttpRequest, textStatus, errorThrows){
}
});
return false;
});
});
function afficher(donnees){
$("#grand_rectangle_general").fadeOut(500,function(){
$("#grand_rectangle_general").empty(); // on vide le div
$("#grand_rectangle_general").append(donnees); // on met dans le div le r?sultat de la requete ajax
$("#grand_rectangle_general").fadeIn(500);
});
}
sous chrome, firefox,... ok mais IE il change de page, comme si le JS n était pas activé alors qu'il l'est
Initialise la variable page.
var page=$(this).attr("href");
à la place de
page=($(this).attr("href"));
pour ie initialise toujours les variables. Et c'est pas ie est chiant, c'est une règle de programmation.
Je te conseil d'utiliser netbeans pour coder, il te signalera les erreurs de ce type.
Bonne journée ou nuit :)
ça fonctionne :) par contre j'ai testé quelque chose d'autre car ce que j'appelait avec ajax n'était que du contenu (donc seulement du texte ou image) ce qui oblige le visiteur a avoir le js activé. J'ai essayé de faire une page complète pour permettre une navigation sans js mais quand ajax charge ma page, il charge tout, design, menu,... et non juste la zone concerné.
Y'a t'il une solution?
voici mon site (en construction et test :p )
http://www.ledn.be/V2/index.php
en fait par exemple sur la page index se trouve toutes mes news et quand je clique sur "lire la suite", sans js et ajax, il va sur une page news.php qui affiche toute la news. Si sur ma page news.php je met que le script php pour afficher toute ma news, ça fonctionne mais alors je n'ai que du contenu et si le visiteur n a pas JS activé ben si il clique sur "lire la suite" il est redirigé sur news.php et ne voit que la news qui foire car les liens sont plus bons,...
si vous allez tester, actuellement, sur la page news.php c est une page complète avec tout le design, balise,... comme ça si le visiteur n'as pas le JS activé au moin il arrive sur une page correcte.
Bien sûr si vous avez des idées, solutions,... de scripts jquery, ajax,... pour adapter, améliorer,... mon système de news je suis preneur =D
Essaye de voir avec la fonction load("url #content") si tu peux faire quelque chose... :)
Dans ton cas ça sera :
$("#grand_rectangle_general").load(page + " #bloc_news_general_suite");
Voilà :)
comme ceci?
$(document).ready(function(){
$("#contexte a").click(function(){
var page=($(this).attr("href"));
$("#grand_rectangle_general").load(page + " #bloc_news_general_suite");
return false;
});
});
si oui, j'ai essayé mais ça ne fonctionne pas. Ca enlève ce qui est dans la div, mais rien ne viens à sa place
Tu devrais utiliser la fonction de php urlencode(str) pour tes liens. (Pour la partie du titre en fait) :)
Ça ne fonctionne pas car il y a des espaces dans les liens.
Sinon tu peux le faire en js directement en modifiant la variable page mais je conseille de le faire en php :)
var page=$(this).attr("href").replace(/ /g,"%20");
bingo :) ça fonctionne (je l'ai fait en php comme tu me la conseillé ;) )
par contre j'ai un autre soucis ^^ donc quand je clique sur lire la suite, ça charge la suite de la news dans la div et à la fin de cette news j'ai un bouton retour pour revenir à ma liste de news, le bouton retour est le même que celui pour lire la suite sauf qu'il redirige vers index.php tout le temps, donc normalement ça devrais aussi enlever ma news de la div et recharger ma liste de news vue que c est le même script js mais ça ne le fais pas, ça redirige vers index.php en rechargeant toute la page.