dernier lien cliqué [javascript] - HTML/CSS - Programmation
Marsh Posté le 29-01-2007 à 22:19:00
Ce que tu veux c'est afficher l'endroit ou tu es.
Tu peux pas faire ça en HTML direct.
Donc faut 2-3 truc en langage serveur.
Sinon, enlève les frames, ça se fait plus depuis les années 20.
Marsh Posté le 29-01-2007 à 22:39:05
Ouai enfin il me semble que ça reste faisable en js. Et dans la mesure où c'est un effet purement esthétique, donc pas du tout indispensable, ça me parait plus judicieux parce que plus simple.
Sauf dans le cas où il supprimerais ses frames et à ce moment là oui faire ça côté serveur.
Marsh Posté le 30-01-2007 à 00:43:34
en javascript ça se fait bien
Marsh Posté le 31-01-2007 à 16:18:36
les frames c'est bien, ça permet de mieux structurer le site !
merci je vais chercher coté javascript
Marsh Posté le 31-01-2007 à 16:31:54
xphanoo a écrit : les frames c'est bien, ça permet de mieux structurer le site ! |
Mais bien sûr! Et la marmotte, elle met le chocolat dans le papier d'allu
Et les <div>, ça pas fait pour ça, justement???
Marsh Posté le 31-01-2007 à 18:06:02
bah pour faire une bordure fixe au site, avec le contenu qu'on fait défiler avec une scrollbar dans la page tu peux pas le faire avec un div
enfin ce que j'utilise c'est un IFRAME
Marsh Posté le 31-01-2007 à 18:11:37
xphanoo a écrit : bah pour faire une bordure fixe au site, avec le contenu qu'on fait défiler avec une scrollbar dans la page tu peux pas le faire avec un div |
en css, overflow: scroll; ça te dit qq chose?
Si on te dit de laisser tomber les frames ou iframes et d'utilsier les div, c'est pas pour t'embêter, c'est pour ton bien
Marsh Posté le 31-01-2007 à 18:15:52
lol c'est bon hein je savais pas
pourquoi vous aimez pas les frames ? bientot ça sera plus supporté par les nouvelles normes du html?
Marsh Posté le 31-01-2007 à 18:27:24
demande à google de passer sur ton site pour le référencer et demande ensuite dans google (une fois qu'il est passé) de te sortir la page qui contient une partie du texte de ton site. Tu véras alors que google t'envéras directement sur la fameuse page et que tu n'auras donc pas droit au menu du site.
Pour un visiteur, les frames l'empéche de mettre en favoris une page en particulier où d'envoyer un lien vers la dite page à une tierce personne.
Rien qu'avec ces deux exemples, je pense que tu comprends le probléme des frames.
Marsh Posté le 31-01-2007 à 18:42:07
et pour répondre à ta question, oui, en XHTML 1.0 strict, les frames sont considérées comme des "erreurs"...Bref, c'est pas valide pour le validateur du w3c.
Marsh Posté le 31-01-2007 à 19:16:14
rufo > Même chose en html 4.0 strict de mémoire, les frames n'ont été autorisé que dans les versions "frameset" des normes du W3C.
Marsh Posté le 31-01-2007 à 22:02:46
ça pue les frames -_- ça devrait même pas exister
Marsh Posté le 01-02-2007 à 10:14:40
zecrazytux > Avant l'arrivé de langages comme le php ou l'asp, il était quasiment impossible de faire un menu sans frame à moins de le recopier partout à la main. En fait, à l'époque, les deux seules méthodes qui permettait de faire ça étaient la création de CGI (donc langage C, C++, ... et dans le meilleur des cas PERL) qui n'étaient accepté que par des hébergeurs trés cher ou l'utilisation d'un programme qui modifiait toutes les pages d'un dossier afin d'y rajouter le menu (aucun programme de ce genre n'étant conus par le grand public, ca revenait à se le créer soit même)
A une époque où cette balise a été créé, elle répondait à un trés grand besoin du net. Maintenant c'est sur que son utilité à fortement baissé grace à l'arrivé de langages serveur trés répendus chez ces derniers.
Marsh Posté le 05-02-2007 à 21:28:32
par contre j'ai un autre souci, une fois que j'ai mis le div comment faire varier le contenu a l'intérieur quand on clique les liens ? car au départ j'avais utilisé les frames dans le but de ne pas devoir recharger toute la page (menu+contenu) a chaque clic sur un lien...
je suis obligé de passer par du javascript ou du php ?
Marsh Posté le 05-02-2007 à 22:07:47
non, enfin, tu vois, on part du principe que si un site est bien coder, le recharger en entier, ça se fait en 2 sec.
Pour cela, utilise bien, le HTML, sépare le CSS.
Si tu as un serveur, ou tu peux utiliser un langage comme php, ou asp, ....
Ben tu fais des inclusions.
Tu sépares le HTML redondant, dans 1 fichier, que tu appelles.
Si tu as pas ça. Le mieux: code sous Dreamweaver, ou autre, et fait un systéme de template, qui à la fin te pond l' HTML, sans que tu fais 10.000 copier coller.
Bon le mieux est un langage serveur, avoir des connaissances de son utilisation après c'est secondaire, car toi, tu utiliseras au bas mot , un ligne de code...
Marsh Posté le 06-02-2007 à 10:30:35
xtof_83 a écrit : non, enfin, tu vois, on part du principe que si un site est bien coder, le recharger en entier, ça se fait en 2 sec. |
le mieux c'est:
- "template" avec la mise en page de ton site: html + css, en deux fichiers (un fichier .css séparé)
- language coé serveur comme le php
tu utilise un moteur de template dans ce language, qui permet de placer du texte, des valeurs, du contenu quoi, au beau milieu de ta mise en page
ce qui permet de séparer le contenu du contenant
sans language serveur, tu fais une page bien mise en page etc, mais sans contenu. tu la prend ensute comme modele pour la remplir pour faqire chaque page de ton site (le principe des templates dreamweaver mais faut être fan de ce logiciel, moi perso je fais mes pages web sous vim et le systeme des templates, je l'utilise pareil, c'est rien que du copier coller )
Marsh Posté le 06-02-2007 à 10:32:32
omega2 a écrit : zecrazytux > Avant l'arrivé de langages comme le php ou l'asp, il était quasiment impossible de faire un menu sans frame à moins de le recopier partout à la main. En fait, à l'époque, les deux seules méthodes qui permettait de faire ça étaient la création de CGI (donc langage C, C++, ... et dans le meilleur des cas PERL) qui n'étaient accepté que par des hébergeurs trés cher ou l'utilisation d'un programme qui modifiait toutes les pages d'un dossier afin d'y rajouter le menu (aucun programme de ce genre n'étant conus par le grand public, ca revenait à se le créer soit même) |
oui, je plussoie en effet. j'aurai du dire "ça devrait même plus exister
Marsh Posté le 12-02-2007 à 18:14:38
re
alors j'ai trouvé mon bonheur en javascript, on choisit 2 couleurs (lien normal et dernier lien cliqué):
Code :
|
ensuite dans mes liens je rajoute: onClick="changeColor(this);" et ça marche
sauf qu'il y a un petit problème: du coup le changement de couleur link:hover du css (quand on survole le lien) ne fonctionne plus ! on dirait que le script rafraichit en permanence la couleur des liens donc le css n'a plus de controle sur la couleur des liens... y-a-t il un moyen pour régler ce problème?
Marsh Posté le 18-02-2007 à 11:29:27
j'ai changé de design de site (j'en ai téléchagé un tout fait que j'ai bien modifié), toujours avec un IFRAME mais j'ai trouvé de quoi supprimer presque tous les défauts des frames:
<SCRIPT Language="javascript">
if (parent.frames.length==0) parent.location.href="index.htm"
</SCRIPT>
ça va éviter que des visiteurs tombent sur une page sans menu quand ils voient votre site sur google ou autre, il recharge la frame principale si il ne la détecte pas
Marsh Posté le 18-02-2007 à 22:45:26
xphanoo a écrit : <SCRIPT Language="javascript"> |
Oui sauf que c'est complètement con
Parce qu'un visiteurs qui arrive sur une page de ton site depuis un moteur de recherche veut normalement voir cette page et pas une autre. Or avec ton super code js, il retourne systématiquement sur l'index qui charge les frames. Ça soulève encore une fois le problème des frames qui vont entraîner le chargement des pages par défaut et non pas de la page que la personne voulait voir.
Il serait donc plus judicieux de préciser ta redirection avec par exemple le code suivant :
Code :
|
Ta page "principale" recevrait donc en paramètre l'identifiant de la page que la personne était venu voir initialement. Il est donc possible ensuite de changer dynamiquement la page chargée dans la frame en fonction de ce paramètre. Avec du côté serveur style php ou alors avec du côté client comme js.
Je vois une seconde solution en php qui consisterait à exploiter le référant pour y trouver quelle page la personne était venu voir.
Marsh Posté le 29-01-2007 à 21:43:43
mon site contient deux frames, l'une qui est le menu l'autre le contenu, et j'aimerais que quand on clique sur un des éléments du menu que le dernier lien cliqué se démarque des autres (en s'affichant d'une autre couleur, par exemple). j'ai testé les "link: active", "link: visited" etc... mais j'en trouve pas un qui a la fonction que je recherche...
Message édité par xphanoo le 12-02-2007 à 18:16:43