Agora
Media
Libraria Byblos



AgoraNews  





PC Magazine Ro  




NET Report   




Ginfo   




agora ON line   





PC Concrete   





Liste de discuţii   




Cartea de oaspeţi   




Mesaje   





Agora   








Clic aici
PC Report - ultimul numar aparut


IPRO - PC Magazine Romania, Ianuarie 2003
SOLUŢII PENTRU PROGRAMATORII ŞI DESIGNERII WEB

Seturi de cadre (frameset-uri) avansate cu Javascript şi PHP

Emanuel Baruch

Vi s-a întâmplat vreodată să deschideţi o pagină găsită prin intermediul unui motor de căutare şi să descoperiţi că aceasta nu conţine un meniu de navigare şi nici un fel de link-uri? Cel mai probabil, aceasta făcea parte dintr-un set de cadre (frameset). Acest scenariu este unul din motivele pentru care nu este recomandată utilizarea frameset-urilor, motoarele de căutare indexând separat paginile din componenţa lor. Bineînţeles că includerea în aceste pagini a unui link către setul de cadre ar fi binevenită, însă acesta va spori considerabil volumul nostru de muncă şi îi va deruta probabil pe cei care l-au deschis deja.

În continuare vă voi prezenta un mic script cu ajutorul căruia veţi putea trece foarte uşor peste această problemă şi veţi putea folosi cu mai multă încredere frameset-urile. Rezultatul va fi următorul: atunci când cineva deschide o astfel de pagină, browser-ul o va reîncărca incluzând-o în frameset-ul din care trebuie să facă parte. Acest script este o combinaţie JavaScipt - PHP, aşadar va funcţiona doar pe serverele care oferă această facilitate. Să presupunem că avem un frameset care conţine două rânduri:

index.php
<frameset rows="100,*">
<frame src="top_frame.php" name="top">
<frame name="content" src="content.php">
</frameset>
În pagina content.php (ideal este ca scriptul să fie introdus în antetul paginii, aşadar, în cadrul tag-ului head), vom introduce următorul script:
content.php - parţial
<script>
<!--
setTimeout("red()",1000);
function red(){
if (self == top) top.location="frame.php?url="+
document.location;
}
-->
</script>

Acesta verifică dacă pagina a fost deschisă în afara frameset-ului, iar în caz afirmativ, va reîncărca un fişier special frame.php (pe care îl vom crea ulterior). Mai mult, scriptul înregistrează calea fişierului curent şi o transmite ca variabilă (variabila url).
Fişierul frame.php (derivat din frameset-ul iniţial) va arăta astfel:

frame.php
<html>
<head></head>
<frameset rows="100,*">
<frame name="top" src="top_frame.php">
<?php print " <frame name=\"content\" src=\"$url\"> "; ?>
</frameset>
<body></body>
</html>

Avantajul acestui script constă în faptul că poate fi inclus fără modificări în toate subpaginile care fac parte dintr-un frameset şi care nu dorim să poată fi vizualizate în afara acestuia.


PC Magazine Ro | CD ROM | Redactia | Abonamente | CautareArhive

Copyright © 1999-2002 Agora Media.

webmaster@pcmagazine.ro

LG - Life´s Good

www.agora.ro

deltafri

Concurs de Grafica Digitala si Web Design

www.agora.ro

www.agora.ro