Pagina de start a forumului Comunitatea JustUs  
FAQ Cautare
Membri Grupuri
Profil Mesaje private
Inregistrare Autentificare
Preluare si modificare continut dintr-un iFrame
Creaza un subiect nou   Raspunde la subiect    Pagina de start a forumului Comunitatea JustUs Tutoriale JavaScript
Subiectul anterior :: Subiectul urmator  
Autor Mesaj
Elektro_Love
Administrator
Administrator
Elektro_Love

Data inscrierii: 21/Iul/2010
Mesaje: 101

MesajTrimis: 23/07/2010 14:54    Titlul subiectului: Preluare si modificare continut dintr-un iFrame Raspunde cu citat (quote)

In acest tutorial este prezentat modul de preluarea si modificare a continutului unui IFRAME, din pagina principala, folosind JavaScript.
Este important de mentionat ca pagina care este inclusa in IFrame trebuie sa se afle pe acelasi server cu pagina principala, altfel nu va fubnctiona din motive de securitate.

Trecand direct la subiect, pentru a prelua si modifica continutul dintr-un IFrame, se poate folosi proprietatea ""contentWindow, aceasta returneaza obiectul "window" al unui frame sau iframe specificat.
Iata un exemplu din care se poate intelege modul de aplicare al acestei proprietati.

1. Cream intai un fisier "ifr.htm" ce va contine codul HTML al paginii ce va fi afisata in IFrame.
Cod ifr.htm

Citat:
<html>
<head><title>Pagina iframe</title></head>
<body>
Continut din IFrame.<br />
Continuare continut ...
</body>
</html>


2. Definim si pagina principala, de exemplu "main.html" (in acelasi director pe server), in care scriem codul penru includerea IRame-ului si scriptul JavaScript care va prelua si modifica continutul din IFrame.
- Explicatiile necesare le gasiti in codul script-ului.
Cod main.html

Citat:
<html>
<head><title>Pagina principala</title></head>
<body>
<script type="text/javascript">
function get_iframe(ifr_id) {
// Preia obiectul ce face referire la iframe, dupa id-ul acestuia
var myIFrame = document.getElementById(ifr_id);

// Se aplica proprietatea "contentWindow" la obiectul-ul iframe-ului
// Astfel se preia fereastra acestuia si cu celelalte proprietati continutul din el
var content = myIFrame.contentWindow.document.body.innerHTML;

alert("Content: \n" + content); // Afiseaza o fereastra Alert cu datele preluate

// Se defineste un text HTML nou care va inlocui continutul din iframe
content = '<font color="blue">Text adaugat prin JavaScript, din pagina principala</font>';

// Se aplica modificarea continutului
myIFrame.contentWindow.document.body.innerHTML = content;
}
</script>

<h3>Pagina principala</h3>
<a href="#" onclick="get_iframe('ifr')">Preia /Modifica IFrame</a><br><br>
<iframe src="ifr.htm" id="ifr" name="ifr"></iframe>
</body>
</html>


- Cand dati click pe link-ul "Preia /Modifica IFrame", va fi apelata functia "get_iframe()", care preia si afiseaza intr-o fereastra Alert continutul din IFrame, apoi seteaza un alt continut si-l inlocueste. Daca darti cluck inca o data, i-l va prelua si afsa pe cel inlocuit.

O alta metoda ce ar putea fi folosita, in loc de "contentWindow", este proprietatea "parent" impreuna cu numele IFrame-ului. Cu aceasta pot fi preluate si valori de variabile JS aflate in IFrame si chiar apela functii JavaScript aflate in el.
Aceasta metoda este prezentata in tutorialul urmator, in care este aratat modul de preluare si modificare a continutului unui IFrame printr-un script JS ce se afla intr-un al doilea IFrame.

_________________
[url=http://www.fodey.com/generators/animated/ninjatext.asp]Preluare si modificare continut dintr-un iFrame Preluare si modificare continut dintr-un iFrame[/url]
Vezi profilul utilizatorului Trimite mesaj privat
Afiseaza mesajele pentru a le previzualiza:   
Creaza un subiect nou   Raspunde la subiect    Pagina de start a forumului Comunitatea JustUs Tutoriale JavaScript Ora este GMT + 3 ore
Pagina 1 din 1

 
Mergi direct la:  
Nu puteti crea un subiect nou in acest forum
Nu puteti raspunde in subiectele acestui forum
Nu puteti modifica mesajele proprii din acest forum
Nu puteti sterge mesajele proprii din acest forum
Nu puteti vota in chestionarele din acest forum
ezHyperShadow template - a boo design Original ezHyperShadow theme by boo ©2004 www.ez-life.net
Powered by phpBB © 2001, 2002 phpBB Group
Fa-ti si tu propriul forum GRATUIT, pe www.myforum.ro