Specificarea numelui unui frame (atributul NAME) si utilizarea lui într-un link (TARGET)
Prin asignarea unui nume uneu frame cu ajutorul atributului NAME, autorii pot referi acel frame ca "tinta" (destinatie) pentru legaturile definite de alte elemente. Aceasta se realizeaza cu atributul TARGET al acestora ş 242f58c ;i poate fi utlizat pentru crearea link-urilor uzuale (A, LINK), imaginilor senzitive (AREA) si a formelor (FORM).
Se prezinta în continuare un exemplu care sugereaza o modalitate de a modifica dinamic continutul unui frame. Definim întîi setul de frame-uri în documentul frameset.html:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN"
"https://www.w3.org/TR/REC-html40/frameset.dtd">
<HTML>
<HEAD>
<TITLE>A frameset document</TITLE>
</HEAD>
<FRAMESET rows="50% %">
<FRAME name="fixed" src="init_fixed.html">
<FRAME name="dynamic" src="init_dynamic.html">
</FRAMESET>
</HTML>
Acesta defineste 2 frame-uri în care se vor încarca 2 documente HTML. Continutul lui init_dynamic.html, încarcat în frame-ul denumit "dynamic" ar putea fi:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
"https://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE>Document cu legaturi tinta într-un frame cu nume</TITLE>
</HEAD>
<BODY>
...partea de început...
<P>Aici se poate avansa la
<A href="slide2.html" target="dynamic">Slide-ul 2.</A>
...altele...
<P>Iar aici se poate avansa la
<A href="slide3.html" target="dynamic">Slide-ul 3.</A>
</BODY>
</HTML>
Activarea oricarei legaturi va deschide un nou document, dar de fiecare data în frame-ul numit "dynamic", în timp ce continutul celuilalt frame "fixed" ramîne neschimbat.
De retinut
O definitie a setului de frame-ului NU POATE FI MODIFICATĂ niciodata, doar continutul acestora putînd fi modificat dinamic. Din momentul în care apare prima modificare dinamica, definitia initiala a frame-urilor (frameset-ului) nu mai reflecta starea curenta a acestora.
Nu se poate codifica (si retine) starea globala a unui set de frame-uri si, de aceea, multe browsere nu permit asignarea unui bookmark ("semn de carte") unui astfel de frameset.
Daca se utilizeaza frame-uri, navigarea înainte si înapoi se complica, autorii fiind responsabili de modalitatea de a parcurge astfel de documente, prin intermediul legaturilor din interiorul acestora.
Cînd mai multe legaturi din acelasi document indica aceeasi tinta (acelasi frame) este posibil sa se specifice aceasta o singura data, renuntîndu-se la atributul TARGET setat la fiecare element în parte. Aceasta se poate realiza prin setarea atributului TARGET al elementului BASE.
Pentru exemplul anterior se poate defini un element BASE. caruia i se poate specifica o valoare pentru atributul TARGET (frame-ul "dynamic"), renuntînd la specificarea lui în elementele A care încarca documentele în acesata tinta:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
"https://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE>Document cu legaturi tinta într-un frame cu nume</TITLE>
<BASE href="https://www.pal.ro/Slides" target="dynamic">
</HEAD>
<BODY>
...partea de început...
<P>Aici se poate avansa la
<A href="slide2.html">Slide-ul 2.</A>
...altele...
<P>Iar aici se poate avansa la
<A href="slide3.html">Slide-ul 3.</A>
</BODY>
</HTML>
Browserele determina în care frame vor încarca o resursa dupa urmatorul algoritm (dupa urmatoarele prioritati, de la cele mai mari spre cele mai mici):
Daca un element are atributul TARGET setat la un frame cunsocut, cînd elementul este activat (de ex. click pe un link) resursa indicata de element se încarca în acel frame.
Daca un element NU are atributul TARGET specificat, dar îl are elementul BASE, atunci acesta determina frame-ul în care se încarca resursa.
Daca nici elementul si nici BASE nu definesc o tinta (atributul TARGET nesetat) resursa desemnata (indicata) de element se încarca în frame-ul care contine elementul respectiv.
Daca un atribut TARGET refera un frame necunoscut, browser-ul va crea o noua fereastra si un nou frame în aceasta, asigneaza numele necunoscut pîna în acel moment acelui frame si încarca resursa în acesta.
În plus browserele pot oferi mecanisme de suprapunere a atributului TARGET.
|