JavaScript dla każdego
//  wróć   główna   dalej  //

Ramki

parent frames length location

Przy pomocy JavaScript można transportować informacje pomiędzy ramkami. Warto, by ramki te miały swoje indywidualne nazwy. Instrukcja pozwalająca określić, na której ramce chcemy operować, ma postać:

parent.frames["Menu"];
parent.frames[1]; //1 oznacza, do której ramki jest odwołanie
parent.Menu;

Wszystkie metody są poprawne, Menu jest nazwą ramki. parent występuje zawsze przy odwołaniu się do ramek. frames zawiera tablicę (więcej I>>) wszystkich ramek, dlatego można się do nich odwołać przez kolejność występowania w dokumencie, gdzie ramki zdefiniowano. Aby zwrócić wartość równą ilości ramek należy użyć polecenia:

parent.frames.length

W przypadku zagnieżdżania ramek (ramka w ramce) dostęp do niej jest nieco bardziej skomplikowany:

parent.parent.frames[1].frames[0]

Tyle jest tablic frames ile jest zagnieżdżonych ramek. Należy także uważać, z którego pliku odwołujemy się do danych. Przy wielokrotnych ramkach odwołania muszą być pisane starannie, by wskazywały na en dokument zawierający ramki, który jest potrzebny.

W taki sposób definiuje się, gdzie ma zostać wykonana dana instrukcja lub skąd ściągnąć dane. Po określeniu ramki, należy jeszcze dodać rodzaj operacji, który już się niczym nie różni od poznanych wcześniej, oprócz tego, że jest poprzedzony powyższymi parametrami, np. wpisanie tekstu w danej ramce:

parent.Menu.document.write('To jest tekst w ramce')

Teraz krótki przykład ładujący stronę do górnej ramki zgodnie z adresem z formularza umieszczonego w dolnej ramce. Górna ramka nazywa się Up i jest dowolną stroną. Dolna ramka posiada funkcję ładującą stronę i formularz:

function Laduj()
{
 Adres=document.Form.Podaj.value;
 parent.Up.location.href=Adres;
}

Można równie dobrze pominąć zmienną Adres i przypisać od razu ładowanie. Budowa formularza wygląda następująco:

<FORM NAME=Form>
<INPUT TYPE=Text NAME="Podaj" onChange="Laduj()">
</FORM>

Zobacz przykład
Do góry