[Tutorial JS]Preluare si modificare continut iFrame prin alt

#1
Nume Tutorial:Preluare si modificare continut iFrame prin alt IFrame
Descriere:In acest tutorial este prezentat modul de preluarea si modificare a continutului unui IFRAME, preluarea valorii unei variabile din el si apelarea unei functii JS aflata in el, toate printr-un buton si script JavaScript aflate intr-un al doilea IFrame.
Este important de mentionat ca paginile care sunt incluse in cele doua IFrame-uri trebuie sa se afle pe acelasi server cu pagina principala, altfel nu va fubnctiona din motive de securitate.
Download:
Autor:
Sursa (Link-ul oficial):
tutorialeweb.net
Propria parere:Nu l-am incercat.
Tutorialul:
1. Cream intai un fisier "ifr1.htm" ce va contine codul HTML pt. pagina din primul IFrame.
Cod ifr1.htm

Cod: Selectaţi tot

<html>
<head>
<script type="text/javascript"><!--
// Stocheaza o valoare in variabila "var_ifr1", care va fi preluat de alta variabila din iframe-ul 2
var var_ifr1 = '<b>Val. variabila din iframe 1</b>';

// Functia modifica continutul DIV-ului "div_ifr1" cu ce primeste la parametru
// Va fi apelata din iframeul 2
function f_ifr1(txt) {
    document.getElementById('div_ifr1').innerHTML = txt;
}
//--></script>
</head>
<body>
IFRAME 1
Continut in BODY
<div id="div_ifr1">Continut div din iframe 1</div>
</body>
</html>
2.Acum se creaza pagina "ifr2.htm", pt. al doilea IFrame, care printr-o functie apelata dintr-un buton va prelua continutul si valoarea unei variabile din primul IFrame.
Cod ifr2.htm

Cod: Selectaţi tot

<html>
<head></head>
<body>
IFRAME 2<br>

<script type="text/javascript"><!--
function f_ifr2(txt) {
    // Preia tot continutul BODY din iframe-ul "ifr1"
    var c_ifr1 = parent.ifr1.document.body.innerHTML;

    alert(c_ifr1);                 // Il afiseaza intr-o fereastra alert

    // Preia valoarea variabilei "var_ifr1", aflata in scriptul din iframe-ul "ifr1"
    var from_ifr1 = parent.ifr1.var_ifr1;

    // Afiseaza in DIV-ul "d_ifr2", din propriul cadru, valoarea preluata
    document.getElementById('d_ifr2').innerHTML = from_ifr1;

    // Apeleaza functia "f_ifr1", din primul iframe, transferandu-i si un parametru
    parent.ifr1.f_ifr1(txt);
}
//--></script>
<div id="d_ifr2"> </div>
<button onclick="f_ifr2('<b>Text modificat din iframe 2</b>')">Action iframe</button>
</body>
</html>
3.Ultimul pas este crearea paginii parinte, "main.html", ce va contine si afisa cele doua IFrame-uri.
Cod main.html

Cod: Selectaţi tot

Ultimul pas este crearea paginii parinte, "main.html", ce va contine si afisa cele doua IFrame-uri.
Cod main.html
- Acest exemplu va afisa urmatorul rezultat:

Cod: Selectaţi tot

Pagina Principala

Primul iframe

IFRAME 1 Continut in BODY
Continut div din iframe 1

Al doilea iframe

IFRAME 2
Action FRAME
Cand dati click pe butonul "Action iframe", din cadrul IFrame-ului 2, este apelata functia "f_ifr2()". Aceasta preia si afiseaza intr-o fereastra Alert tot continutul din IFrame-ul 1, apoi preia si valoarea variabilei din acesta, "var_ifr1", pe care o va afisa in propriu cadru, apoi apeleaza si functia "f_ifr1()", situata tot in primul IFrame, careia ii transmite prin parametru un text ce va inlocui continutul div-ului "div_ifr1".
- Toate aceste aactiuni vor fi efectuate din al doilea IFrame asupra codului din primul IFrame, prin intermediul proprietatii "parent".[/b]
Imagine

Înapoi la “Tutoriale JS”

Cine este conectat

Utilizatori răsfoind acest forum: Niciun utilizator înregistrat și 2 vizitatori