|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Romain Inscription : janvier 2010 Messages : 30 ![]() |
Bonjour à tous,
J'ai récupéré sur le net un petit script qui génère un portfolio en AJAX. J'ai un problème avec les liens vers les différentes pages de ce site. En effet, j'ai par exemple une page1.html et un bouton qui envoie sur une page2.html Le href se fait de manière classique: <a href="page2.html">...</a> Cependant, dans la barre d'adresse de mon navigateur, l'url apparait en tant que http://monsite.fr/#page2 Comment faire pour afficher une url "standard" du type monsite.fr/page2.html ? Je vous remercie d'avance |
|
|
00
|
|
|
#2 | |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 805 ![]() |
Citation:
![]() Ou sinon, nous montrer ton code.
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
|
00
|
|
|
#3 | ||
|
Candidat au titre de Membre du Club
![]() Romain Inscription : janvier 2010 Messages : 30 ![]() |
Bonjour,
Voici mon fichier .js Code :
|
||
|
|
00
|
|
|
#4 |
![]() ![]() Marc ChappuisDéveloppeur Web Inscription : décembre 2003 Messages : 1 535 ![]() |
Salut,
Le principe même de ce script est de charger du contenu sans recharger la globalité de la page. Hors si tu modifies l'url de ton navigateur autrement qu'en jouant sur l'ancre #... tu vas provoquer un rechargement de page et l'utilisation d'Ajax dans ce cas devient obsolète.
__________________
Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage ! |
|
|
00
|
|
|
#5 |
|
Candidat au titre de Membre du Club
![]() Romain Inscription : janvier 2010 Messages : 30 ![]() |
Salut,
J'avais bien compris que l'interet de ce script est de réaliser cela, cependant je veux ajouter un slideshow en flash sur une des pages de mon site, et lorsque je clique depuis la page d'index sur le lien vers la page en question, la modification n'est pas visible. Or, lorsque je tape directement xxx.fr/mapage.html dans ma barre d'url la modification est ok. Autre chose bizarre, si je modifie juste du texte sur ma page, la modification est visible meme lorsque j'atteinds la page avec le #, mais des que je mets le code de mon slideshow, rien ne change. Pourquoi à votre avis ? Merci beaucoup de votre aide |
|
|
00
|
|
|
#6 |
![]() ![]() Marc ChappuisDéveloppeur Web Inscription : décembre 2003 Messages : 1 535 ![]() |
On peut voir ça en ligne quelque part ?
__________________
Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage ! |
|
|
00
|
|
|
#7 | ||||||||
|
Candidat au titre de Membre du Club
![]() Romain Inscription : janvier 2010 Messages : 30 ![]() |
Dans le but d'avoir moins de code à afficher ici, je veux juste ici un apercu d'une image lors d'un clic sur un lien textuel (le tout en JavaScript toujours grace à la librairie Slimbox)
Apercu du résultat de Slimbox: http://www.digitalia.be/demo/slimbox/ ------------------- Voila mon index.html Code :
Code :
Code :
Code :
Un grand merci d'avance |
||||||||
|
|
00
|
|
|
#8 | ||||||||
![]() ![]() Marc ChappuisDéveloppeur Web Inscription : décembre 2003 Messages : 1 535 ![]() |
Salut,
A mon avis le problème vient de l'initialisation de slimbox Dans slimbox2.js tu as la méthode slimbox qui est appliquée à tous les liens qui ont un attribut rel qui commence par lightbox Code :
dans le DOM. Si bien que quand tu charge ton contenu de page avec ajax les liens sont bien chargés, mais aucun évènement ne leur est associé car slimbox2.js a été exécuté avant que tes liens ne figurent dans le DOM et n'est pas exécuté à nouveau. Si c'est bien là le problème, tu as deux solutions simples 1) tu place le code d'initialisation de slimbox dans une balise script que tu mets dans le contenu de ta page galerie (a la fin du fragment html qui est chargé) Code :
2) Tu modifie le code de chargement de tes pages pour lancer une initialisation de slimbox après chaque chargement Code :
à la fin de showNewContent devraient pas être là. En effet, load attend une référence à une fonction qu'il appellera à la fin du chargement du fragment et dans ton code la fonction est appelée imédiatement et c'est son résultat qui est passé en paramètre à load. Idem pour le hideLoader (mais j'ai pas testé chez moi) Code :
__________________
Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage ! |
||||||||
|
|
00
|
|
|
#9 |
|
Candidat au titre de Membre du Club
![]() Romain Inscription : janvier 2010 Messages : 30 ![]() |
Un grand merci à toi, ca marche pour l'affichage de l'image !
Maintenant, j'aimerais faire de même avec ma galerie flash, pour cela j'utilise SimpleViewer. Seulement, meme probleme qu'avant et je ne sais pas quel bout de code mettre ou. Si tu pouvais m'aider, ce serait génial. Voici le .zip de ma galerie flash: http://www.simpleviewer.net/downloads/simpleviewer.zip Encore MERCI ! |
|
|
00
|
|
|
#10 | ||
|
Candidat au titre de Membre du Club
![]() Romain Inscription : janvier 2010 Messages : 30 ![]() |
Je vais tenter d'etre plus précis.
La ligne de code me permettant d'initialiser ma galerie est celle ci: Code :
SV.simpleviewer.load('sv-container', '100%', '100%', '222222', true); L'id de la balise <div> qui doit contenir ma galerie est sv-container Voila ce que ca donne: Code :
|
||
|
|
00
|
|
|
#11 | ||||
![]() ![]() Marc ChappuisDéveloppeur Web Inscription : décembre 2003 Messages : 1 535 ![]() |
La ligne jQuery(document).ready(function () dans ta callback de load
est inutile. En effet, load appelle la callback une fois le fragment chargé injecté dans le DOM. Mais à mon avis ton problème vient de ton code de chargement. Il te faut comprendre la différence entre ces deux notations: Code :
Code :
une référence à une fonction comme paramètre. load utilise cette référence pour appeler la fonction au moment approprié. c'est à dire quand la réponse a été reçue et que le fragment html a été placé dans le document. Dans la première notation ci-dessus, toto() est appelé avant même que la requête ajax n'aie été lancée. car les parenthèses après le nom d'une fonction provoque un appel à celle-ci. et c'est le résultat de la fonction qui est passé à load. Je te propose de placer des alert dans ton code et d'observer le réseau avec FireBug afin de t'assurer que les opérations se passent dans l'ordre voulu. Car si tu initialise ta galerie avant qu'elle ne soit chargée, ça va pas le faire.
__________________
Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage ! |
||||
|
|
00
|
|
|
#12 | ||||
|
Candidat au titre de Membre du Club
![]() Romain Inscription : janvier 2010 Messages : 30 ![]() |
Merci de ces précisions.
En conséquence, j'ai modifié mon fichier .js Code :
J'ai alors essayé de rajouter ces 2 lignes Code :
En espérant y voir plus clair, encore merci |
||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com