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.

[email protected]

LG - LifeŽs Good

www.agora.ro

deltafri

Concurs de Grafica Digitala si Web Design

www.agora.ro

www.agora.ro