> Tous les forums > Forum des Webmasters
 SCRIPT POUR SITE AVEC FRAMES..
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
Clonn
  Posté le 18/07/2003 @ 15:17 
Aller en bas de la page 
Petit astucien
Amis astuciens, au secours.... Voila plusieurs jours que je me débats avec le problème suivant... mais en vain ! [pleurer][pleurer] Mon site comporte des frames. Certaines pages sont référencées dans des moteurs de recherche. En cliquant sur leurs adresses , on y accède directement... donc sans afficher les cadres (ce qui est normal, vu que ces pages ont été appelées en dehors du frameset!) Pour résoudre ces problèmes, j'ai inclus depuis longtemps un script qui, lorsqu'une page est affichée, détecte l'absence de cadres et donc redirige l'internaute vers le frameset (qui reconstitue donc les cadres).Toutefois, ce sont les pages par défaut du frameset qui s'affichent. Et j'imagine la perplexité [question] [choc][question] de certains internautes qui ont fait une requête sur un moteur et se retrouvent sur une page ... apparemment sans aucun rapport avec ladite requête ! Je voudrais donc améliorer le dispositif avec un script qui, certes, reconstitue les cadres mais qui EN PLUS affiche la page appelée parmi ces cadres... et non pas la page "par défaut".[maltete][maltete][maltete] Qui connait des scripts qui font ça ?? D'avance, merci.
Publicité
greg_seth
 Posté le 18/07/2003 à 15:31 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Salut, j'ai bien une solution, mais en php, je sais pas si ca t'interesse. En javascript j'ai peur que ca soit un peu compliqueé...
Clonn
 Posté le 18/07/2003 à 17:00 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Aie...pas php [pleurer] Merci qd mm !
greg_seth
 Posté le 18/07/2003 à 20:56 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Bon paske c'est toi je te vais essayer de te donner la solution en JavaScript ! [smile] (ptet aussi paske c'est pas aussi compliké ke je le croyais ! [clindoeil]) Allez c'est parti : Ton code de redirection, se trouvant sur chaque page (tu peux garder le tien il suffit de changer l'adresse de rediraction) : <script language="JavaScript" type="text/javascript"> if (window.location == top.location) { window.location.href = 'index.htm?url=' + window.location; // index.htm est la page contenant ton frameset } </script> Et la page contenant le frameset : <html> <head> <script language="JavaScript" type="text/javascript"> function extractVars() { regexp = new RegExp('[?&]'); vars = window.loaction.split(regexp); recupVars = new Array; for (i = 1 ; i < vars.length ; i ++) { recupVars[vars[i].substring(0, vars[i].indexOf('='))] = vars[i].substring(vars[i].indexOf('=')+1); } } </script> </head> <frameset cols="200, *"> <frame name="menu" src="menu.htm" /> <script language="JavaScript" type="text/javascript"> document.write('<frame name="contenu" src="' + recupVars['url'] + '" />'); </script> </frameset> </html> Bon pour l'exemple là j'ai supposé que ta page se présentait avec une frame à gauche pour un menu et que tes pages s'ffichent à droite, mais après tu adaptes à ton cas perso...[smile] Pffiou ! voilà, ça devrait aller ! [smile]

Modifié par greg_seth le 18/07/2003 20:59
Clonn
 Posté le 19/07/2003 à 11:21 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Et une fois de plus MERCI A GREG-SETH !!! (Je découvre à l'instant ton post... je vais donc tenter de le mettre en application) PS: Je vais créer un dossier GREG-SETH sur mon PC !![bigsmile][bigsmile][bigsmile]

Modifié par Clonn le 19/07/2003 11:22
Clonn
 Posté le 19/07/2003 à 14:20 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
[triste] marche pas... [triste] La redirection se fait bien... mais la page "appelant" le frameset ne s'affiche pas à l'intérieur des cadres. Le passage des paramètres semble ne pas se faire correctement... Grrrrrr...
koala01
 Posté le 21/07/2003 à 15:34 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien
pour ce qui est du passage de la page en php (et surtout de sa récupération), ce n'est pas si compliqué: tu mets effectivement le script <script language="JavaScript" type="text/javascript"> if (window.location == top.location) { window.location.href = 'index.htm?url=' + window.location; // index.htm est la page contenant ton frameset } </script> dans ta page... La page qui crée ton frameset, tu la renomme php( obligatoire, sinon ca n'ira pas) tu rajoute le code (avant la création des cadres) [code]<? if ($url<>''){ $page=$url; }else{ $page='nom_de_la_page_par_defaut_qui_doit_s_afficher.html'; }[/code] enfin, tu modifie la balise qui crée le cadre: [code]<frameset src="<?echo $page; ?>">[/code] Et le tour est joué... Ce qui est envisageable, est aussi de passer le nom de la page sans extension...il suffit alors de modifier le code [code]<? if ($url<>''){ $page=$url.'l_extension_que_tu_as_donné_a_ta_page'; }else{ $page='nom_de_la_page_par_defaut_qui_doit_s_afficher.html'; }[/code]
Clonn
 Posté le 21/07/2003 à 17:48 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Merci beaucoup .... [happy][happy] Je v essayer de tester.
guism
 Posté le 24/07/2003 à 11:18 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
bjr à tou(te)s <clonn> si si les deux soluc marchent, avec un codage certes plus difficile sur celle de greg__ mais c'est la rançon du javascript, et des précaution à prendre quand à l'emplace de l'ouverture <?php sur celle de koala [à propos, clonn je suis sans doute aussi nul que toi en PHP mais faut surmonter son appréhension c'et hyper cool et c'est l'avenir] <pour greg_ et koala_> j'avais eu ce pb il n'y pas si longtemps quand j'était plus nul que nul. j'avais codé une rédirection des liens profonds vers une frameset spéciale index_profond.PHP, mais sans aucun ?var=... maintenant je voudrais éviter de recoder le if... de toutes mes pages question : comment coder mon index_profond.PHP (appelé sans variable) pour faire apparaitre dans ma framePage la page_profonde. j'ai essayé en remplaçant <?php echo ("<frame name=\"Frame_basse\" scrolling=\"yes\" src=\"$url\">") par .. scr=\"$HTTP_REFERER\" .. mais, évidemment, ça m'affiche des poupées gigognes dans le cadre il faudrait un équivalent PHP de parent.location(-2) quelle est la soluc. merci d'avance.

Modifié par guism le 24/07/2003 14:47
Publicité
guism
 Posté le 24/07/2003 à 15:02 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Bon, pendant le déjeuner j'ai essayé de voir de plus prés : -1 la soluc : scr=\"$HTTP_REFERER\" ne pouvait que buguer puisque le referer du cadre c'est la page de définition des frame. -2 -> j'essaye dans la frame_set <?php $appel=$HTTP_REFERER; echo ("<frame name=\"Frame_basse\" scrolling=\"yes\" src=\"$appel\">"); ?> c'est déja mieux : j'ai une page nulle en frame_basse [bigsmile] -3 je fais un essai de renvoyer mes pages profondes vers une pagePHP : <?php echo ("$HTTP_REFERER"); echo("hello world"); ?> et je récupère hello world mais rien de la première ligne. conclusion $HTTP_REFERER n'est pas un "objet" traditionnel et il ne marche pas lorsque l'on passe d'une page à l'autre part du javascript -4 le soluc. serait en 2- de récuperer pour $appel le parent.location. BON mais là il faut intégrer du JS dans une frameset et au milieu de PHP, et je coince. Pouvez vus m'aider ? merci
Clonn
 Posté le 24/07/2003 à 15:58 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
<GUISM>... en fait, j'ai lentement commencé à débuter le démarrage de mon initiation au php...[bigsmile] Et puis récemment je suis tombé sur un post (je ne sais plus de qui) sur ce forum qui, en substance, me disait :(je "traduis" de mémoire) "php est trés puissant pour la gestion des bases de donnèes... mais si ce n'est pas fondamentalement un besoin pour ton site, il est inutile de te compliquer la vie" Je sais cependant qu'un autre aspect intéressant de php c'est de faciliter la maintenance d'un site (include, je crois) Mais iframe fais aussi celà en html... Donc j'en viens à ma question : hormis l'aspect "curiosité intellectuelle" (qui n'est pas à négliger, bien sûr) y a t il des raisons, autres que celles évoquées ci dessus, qui peuvent motiver un "webmaster" amateur à se tourner vers php ?? En tout cas, merci pour votre aide à tous !
koala01
 Posté le 24/07/2003 à 20:34 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien
l'avantgage principal, hormis la gestion des bases de données, est: de faciliter la mise à jour avec les includes (iframe n'est pas reconnu par les navigateurs trop anciens [clindoeil]) de permettre une certaine "dynaimque" du site, avec un avantage sécuritaire par rapport au javascript (en effet, tout le code php est géré par le serveur qui ne renvoie que les informations en fonction des instructions recue...un code javascript quant à lui, sera souvent contournable/récupérable) Ceci dit, l'utilisation d'une base de données peut tres bien ne pas se limiter à uniquement gérer des contacts ou des membres: toutes les sections de mon site sont gérées sur une base de données... De cette manière, si tu insere un enregistrement: <table border=1> <tr> <td> une cellule </td> </tr> </table> dans une table et que tu fais afficher le contenu de l'enregistrement, tu obtiendra effectivement un tableau avec des bordures de 1 et une seule cellule dans laquelle sera écrit "une cellule" C'est un simple exemple, mais c'est pour bien montrer que, si tu a décidé de scinder une page immence en 5 pages plus petites, tu ne dois créer qu'une seule page (avec un code plus léger, d'ailleurs) qui peut utiliser les enregistrement de ta table pour créer la bonne page... l'intéret supplémentaire de cette manière de fonctionner est qu'il est dés lors facile de créer de toutes pieces un "moteur de recherche" sur ton site...
Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
56,99 €SSD WD Blue SN550 500 Go (NMVe M.2, 2400 Mo/s) à 56,99 €
Valable jusqu'au 23 Juin

Amazon fait une promotion sur le SSD WD Blue SN550 500 Go (NMVe M.2) qui passe à 56,99 € livré alors qu'on le trouve ailleurs à partir de 75 €. Ce SSD utilise une interface M.2 NVMe PCIe Gen3 x 4 pour une connexion simple et des performances exceptionnelles : jusqu’à 2 400 Mo/s en lecture séquentielle et jusqu’à 1 950 Mo/s en écriture séquentielle. Le SSD est doté de la technologie 3D TLC NAND haute densité offrant une endurance d’écriture durable et assorti d’une garantie de cinq ans. 


> Voir l'offre
66 €Onduleur Eaton 3S 550 FR à 66 €
Valable jusqu'au 24 Juin

Amazon fait une promotion sur l'onduleur Eaton 3S 550 FR qui passe à 66 € livré gratuitement alors qu'on le trouve ailleurs autour de 80 €. Cet onduleur de 550VA/ 330 Watts offre 3 prises protégées et ondulées et 3 prises protégées. La batterie est remplaçable et offre une autonomie de 8 minutes. Son port USB et le logiciel d'arrêt fourni permet d'enregistrer automatiquement vos données et fermer vos applications avant que vos batteries ne soient épuisées.


> Voir l'offre
84,00 €Disque dur externe portable Toshiba Canvio Basics 4 To USB 3.0 à 84 €
Valable jusqu'au 23 Juin

Amazon propose actuellement le disque dur externe portable Toshiba Canvio Basics 4 To USB 3.0 à 84 € seulement ! Avec ses 4 To et sa connectique USB 3.0 compatible USB 2.0, vous aurez de quoi stocker rapidement et emporter avec vous vos photos, vos films, etc.  La livraison est gratuite.


> Voir l'offre

Sujets relatifs
Problemes avec les frames pour mon site
créer un site pro avec orange - Pour ou contre ?
Aide pour mettre mon site en ligne avec 1&1 ???
Créer un site avec des frames sur Dreamweaver 8
pour mon site des script?
conseil pour nouveau site avec DREAMWEAVER 8
Créer un site avec frames ???
script eml dans page html sur mon site pour outloo
script pour photos pour votre site
Une tonne de script pour dynamisez votre site !
Plus de sujets relatifs à SCRIPT POUR SITE AVEC FRAMES..
 > Tous les forums > Forum Forum des Webmasters