Curs Javascript


Obiectul window reprezinta fereastra din browser in care e afisat continutul.
Obiectul window se creaza automat pentru fiecare fereastra deschisa in browser, inclusiv pentru elemente <iframe> din pagina. Acesta contine proprietati si metode pentru lucru cu elemente ale ferestrei si ale paginii web.
- O lista cu proprietati si metode gasiti la pagina:
marplo.net/javascript/proprietati-metode-window

Cateva exemple

Proprietatea parent face referire la fereastra parinte (daca acel continut e intr-un <iframe>).
<h4>Exemplu parent</h4>
<p>La clic pe buton modifica culoarea background a ferestrei parinte, in care e aceasta fereastra (iframe).</p>
<button id='btn1'>Parent background</button>

<script>
document.getElementById('btn1').addEventListener('click', (ev)=>{
 parent.document.body.style.background ='#bfbffe';
});
</script>
Proprietatea self face referire la fereastra curenta.
- Cu ea se poate verifica daca continutul e intr-un <iframe> sau in fereastra principala.
<h4>Exemplu self</h4>
<p>La clic pe buton verifica si afiseaza la #resp daca acest continut e intr-un iframe sau in fereastra principala din browser.</p>
<button id='btn1'>Check window</button>
<blockquote id='resp'>#resp</blockquote>

<script>
document.getElementById('btn1').addEventListener('click', (ev)=>{
 if(window.top != window.self) var msg ='Acest continut e intr-un iframe.';
 else var msg ='Acest continut e in fereastra principala.';
 document.getElementById('resp').innerHTML = msg;
});
</script>
Proprietatea top face referire la fereastra primara din browser.
<h4>Exemplu top</h4>
<p>La clic pe buton modifica culoarea background a ferestrei primare (top) din browser.</p>
<button id='btn1'>Top background</button>

<script>
document.getElementById('btn1').addEventListener('click', (ev)=>{
 top.document.body.style.background ='#c0c0fe';
});
</script>
outerHeight - returneaza inaltimea ferestrei (incluzand toolbar), in pixeli.
<h4>Exemplu outerHeight</h4>
<p>La clic pe buton afiseaza la #resp inaltimea acestei ferestre.</p>
<button id='btn1'>Get outerHeight</button>
<blockquote id='resp'>#resp</blockquote>

<script>
document.getElementById('btn1').addEventListener('click', (ev)=>{
 document.getElementById('resp').innerHTML ='outerHeight: '+ window.outerHeight;
});
</script>
outerWidth - returneaza lungimea ferestrei (in pixeli).
<h4>Exemplu outerWidth</h4>
<p>La clic pe buton afiseaza la #resp lungimea acestei ferestre.</p>
<button id='btn1'>Get outerWidth</button>
<blockquote id='resp'>#resp</blockquote>

<script>
document.getElementById('btn1').addEventListener('click', (ev)=>{
 document.getElementById('resp').innerHTML ='outerWidth: '+ window.outerWidth;
});
</script>

Ferestre Pop-up

Ferestrele Pop-up se pot crea din JavaScript cu dimensiuni si pozitie pe ecran stabilite de dv., folosind aceasta sintaxa

window.open('URL', 'name', 'props')
- 'URL' - adresa pentru continutul paginii din fereastra. Daca se adauga un sir gol, va afisa o pagina goala.
- 'name' - numele ferestrei.
- 'props' - (optional) perechi nume=valoare (separate prin virgula) cu proprietati pentru definirea ferestrei. Daca argumentul 'props' nu e adaugat, se va deschide fereastra ca un nou tab in browser.

- Exemplu, la clic pe un buton se deschide o fereastra cu dimensiuni si pozitie specificate.
<h4>Exemplu window.open()</h4>
<p>La clic pe buton se deschide o fereastra pop-up, cu aceste proprietati: <em>'width=650, height=450, left=30, top=50, menubar=0, titlebar=0'</em>.</p>
<button id='btn1'>Open pop-up</button>

<script>
document.getElementById('btn1').addEventListener('click', (ev)=>{
 var popup = window.open('//gamv.eu/', 'TestWin', 'width=650, height=450, left=30, top=50, menubar=0, titlebar=0');
});
</script>

Ferestre cu continut din JavaScript

Metoda window.open() returneaza o referinta la fereastra deschisa cu ea. Folosind aceasta referinta, se pot deschide ferestre pop-up cu continut creat direct din JavaScript. In acest caz, la URL se adauga un sir gol.
In fereastra pop-up se poate adauga buton pentru inchiderea ferestrei cu metoda close().

- Exemplu, la clic pe un buton se deschide o fereastra fara adresa URL, cu continut adaugat din JavaScript; si cu buton de inchidere.
<h4>Exemplu fereastra cu continut din JS si buton Close</h4>
<p>La clic pe buton deschide o fereastra pop-up in care se adauga elemente HTML din JavaScript si un buton Close.</p>
<button id='btn1'>Open pop-up</button>

<script>
document.getElementById('btn1').addEventListener('click', (ev)=>{
//deschide fereastra pop-up
var popup = window.open('', 'TestWindow', 'width=350, height=300, left=20, top=25');

//adauga html si text in ea
popup.document.write('<h1>Bucura-te, fii Fericit</h1>');
popup.document.write(`<blockquote style="color:#0000e0; font-size:18px;">Cea mai pretioasa avere pe care o ai, nimeni nu ti-o poate lua, o poti darui si transmite fara sa scada;<br>
Esti tu insuti, starea ta de a fi.<br>
Daruieste Bucurie si Pace prin starea ta,<br>
Ce si cum daruiesti, tu primesti.</blockquote>
<h4>Transmite Pace si Bucurie, fii Fericit!</h4>`);
popup.document.write('<p> - Nu spun ce sa faci, lumea te reflecta, Tu iti transmiti.</p>');

//adauga buton de inchidere
popup.document.write('<button onclick="window.close()">Close</button>');

//seteaza un background la Body din pagina deschisa
popup.document.body.style.background ='#fefee9';
});
</script>

Bara de derulare - scroll

Bara de derulare a paginii (scroll) apartine obiectului window. Acesta contine proprietati si metode pentru citirea si setarea pozitiei barelor de derulare a paginii.

• La obiectul window se poate inregistra evenimentul 'scroll' prin care se poate detecta cand se deruleaza pagina.

- Exemplu, buton de derulare cu scrollTo() si afisare coordonate ale barelor de derulare.
<h4>Exemplu scrollTo()</h4>
<p style='background:#fdfddb; height:1500px; width:130%;'>La click pe buton, bara de derulare orizontala se va muta la pozitia 300, iar cea verticala se va derula in jos la pozitia 1100 (pixeli).<br>
Se afiseaza in buton coordonatele barelor de derulare, x si y (cu evenimentul 'scroll').<br>
 - In partea de jos e un buton pentru scroll-top.</p>
<button id='btn1' style='position:fixed;left:20%; top:170px;'>Scroll</button>
<button onclick='window.scrollTo(0,0)' style='display:block; margin:5px 25px 8px auto;'>Go-Top</button>

<script>
var btn = document.getElementById('btn1');

btn.addEventListener('click', (ev)=>{
 window.scrollTo(300, 1100);
});

//detecteaza cand se face scroll la pagina
window.addEventListener('scroll', (ev)=>{
 //afiseaza in btn coordonatele barelor de derulare
 btn.textContent = window.scrollX +', '+ window.scrollY;
});
</script>

Salvare date in browser

Cu proprietatea localStorage din obiectul window se pot salva date in browser-ul utilizatorului pe timp nelimitat, pana cand acestea sunt sterse de utilizator sau de alt script.
Datele stocate in browser cu localStorage sunt salvate ca string (siruri), si pot fi accesate in site-ul din care au fost adaugate de fiecare data cand utilizatorul viziteaza acel site.
- Aceasta proprietate returneaza un obiect cu metode pentru adaugare si preluare date stocate in browser.


- Exemplu, la clic pe buton salveaza in browser textul adaugat in caseta de text. Iar la click pe alt buton afiseaza din localStorage textul retinut in browser.
<h4>Exemplu localStorage</h4>
<p>La clic pe buton salveaza in browser textul adaugat in caseta de text.<br>
La click pe urmatorul buton care apare, afiseaza din localStorage textul retinut in browser.<br>
 - Daca in browser sunt deja salvate date de pe acest site la 'some_key' in localStorage, le afiseaza in elementul #resp.</p>
<div id='dv1'>
Text: <input type='text' value='marplo.net' id='txt1'><br>
<button id='btn1'>Add in storage</button>
</div>
<button id='btn2' style='display:none'>Get from storage</button>
<blockquote id='resp'>#resp</blockquote>

<script>
//verifica daca sunt date in localStorage la 'some_key'
var ls_val = localStorage.getItem('some_key');
if(ls_val) document.getElementById('resp').innerHTML ='Din localStorage:<br>'+ ls_val;

//salveaza in browser valoarea de la #txt1, cu cheie 'some_key'
document.getElementById('btn1').addEventListener('click', (ev)=>{
 var str = document.getElementById('txt1').value;
 localStorage.setItem('some_key', str);

 //ascunde #dv1 si afiseaza al doilea buton
 document.getElementById('dv1').style.display ='none';
 document.getElementById('btn2').style.display ='block';
});

//afiseaza la #resp textul salvat in browser cu cheie 'some_key'
document.getElementById('btn2').addEventListener('click', (ev)=>{
 document.getElementById('resp').textContent = localStorage.getItem('some_key');
});
</script>

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Ce tag se foloseste pentru a crea o caseta de adaugare text?
<form> <input> <div>
<input type="text" name="a_name" value="val" />
Ce proprietate CSS se foloseste pentru a afisa textul cu majuscule-mici?
display font-variant font-style
h3 {
  font-variant: small-caps;
}
Ce instructiune afiseaza o fereastra cu un mesaj in ea?
for() Date() alert()
var msg = "Viziteaza CoursesWeb.net";
alert(msg);
Indicati codul PHP prin care se obtine IP-ul utilizatorului.
$_SERVER["HTTP_USER_AGENT"] $_SERVER["REMOTE_ADDR"] $_GET[]
$ip = $_SERVER["REMOTE_ADDR"];
echo $ip;
Cum se traduce cuvantul "actually"?
actual de fapt acum
He actually came on time.
- De fapt, el a venit la timp.
Cum se traduce expresia: "Hace buen tiempo"?
Face timp E vreme frumoasa Drum bun
Hoy hace buen tiempo.
- Astazi e vreme frumoasa.
Obiectul window

Last accessed pages

  1. Comenzi neregulate (796)
  2. Pronumele relativ 3 (937)
  3. Adverbe (1686)
  4. Espanol Chistes - Glume, Bancuri (5054)
  5. Pronumele relativ 2 (835)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (884)
  2. Exercitii engleza - English Tests and exercises - Grammar (390)
  3. Cursuri limba engleza gratuite si lectii online (373)
  4. Coduri pt culori (365)
  5. Gramatica limbii engleze - Prezentare Generala (358)