Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: sterowanie iframe
Forum PHP.pl > Forum > Po stronie przeglądarki
jerrys
Mam pytanie czy ktoś wie jak sterować <iframe> z innego iframe w tym samym oknie i z innego okna. Potrzebuje tego do zaktualizowania danych w <iframe> ktore zmienie w innym oknie. Chodzi mi przedwszystkim zeby dalo sie to okno <iframe> odświeżyć, a nie wiem jak sie do niego dobrać. dry.gif Z góry dziękuje za pomoc.
akubiczek
Generalnie możesz normalnie się odwoływać do "zewnętrznych" właściwości iframe'a po jego ID. Np.:

Kod
<script>
document.getElementById('naszaszkapa').style.display='block';
</script>

...

<iframe id="naszaszkapa"></iframe>


Jeżeli chcesz się dostać do metod czy właściwości dokumentu wewnątrz ramki (np. aby go odświeżyć), to możesz dostać się do ramki za pomocą kolekcji frames[]:

Kod
<script>
     frames['naszaszkapa'].location.href='http://onet.pl/';
    frames['naszaszkapa'].history.go(0);
</script>

...

<iframe name="naszaszkapa"></iframe>
jerrys
Zrobilem tak jak napisales:
Kod
<script>
frames['siedziba_frame'].location.replace("inc/f_branze.php");
</script>


sad.gif ale dziala tylko w tym oknie w ktorym jest ta ramka. Nazwalem to okno
window.name="firma" i następnie wpisalem w innym oknie:
Kod
<script>
firma.frames['siedziba_frame'].location.replace("inc/f_branze.php");
</script>


ale to nie skierowalo sie do tego okna i nie odswiezylo mi tamtego frame'a.
Jak to zrobic z innego okna?questionmark.gif blink.gif Proszę o pomoc.
Paul
Jesli dobrze rozumiem jest tak:

- jest kilka ramek (czy iframow -> wychodzi na to samo)

- chcesz z poziomu ramki dziecka odswiezyc rowiesnika?

- jesli tak to musisz sie odwolac do rodzica (czyli ramki w ktorej jest ten iframe), a nastepnie do jego dziecka (iframe) - czyli parent (lub top jesli to jest najwyzsza ramka) - parent.dziecko.location.replace("inc/f_branze.php");
jerrys
Nie umiem przejść z jednego okna do drugiego (mam otwarte dwa okna jedno z iframe a drugie to to z ktorego chce odswiezyc iframe w innym oknie) aby odswiezyc. Zamykam okno w ktorym jestem i chce zeby przejsc do tego w ktorym jest iframe i zeby mi sie odswiezyl ale tylko ten iframe a nie cale okno. sad.gif
Wiem jak odswiezyc z poziomu tego samego okna. Ale nie umiem z innego okna
sad.gif twierdzi ze obiekt firma nie istnieje (- window.name="firma" to jest to okno w ktorym jest uzyta ramka ktora chce odswiezyc - moze zle nazwalem okno?? nie wiem co jest nie tak)

to jest kod okna z ktorego chce odswiezyc ramke w innym oknie:
Kod
<script>
firma.frames['siedziba_frame'].location.replace("inc/frame_siedziba.php");
</script>


a to okno w ktorym jest ta ramka wyglada mniej wiecej tak:
Kod
<script>
window.name="firma"
</script>

...

<?
//a tu jest ramka:

echo "<tr><td colspan=4><br><b>Siedziby:</b><br><iframe src=\"inc/frame_siedziba.php\" id=\"siedziba_frame\" name=\"siedziba_frame\" width=900 height=250 scrolling=YES marginwidth=0 marginheight=0 frameborder=YES>";
echo "</iframe></td></tr>";

?>



nie wiem co tu jest nie tak. Proszę o pomoc. snitch.gif
akubiczek
Do okienka nadrzędnego (tj. tego w którym otwarłeś kolejne okienko) odwołujesz się poprzez referencje

Kod
opener


np.

Kod
opener.location.reload();


połącz to teraz z ramkami i już Ci powinno wszystko działać.
jerrys
Dzięki wszystkim za pomoc opener.location.reload() pomogło smile.gif smile.gif smile.gif smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.