Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Internet > Web razvoj > Klijentske aplikacije

Klijentske aplikacije (X)HTML, CSS, JavaScript, AJAX...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 8.11.2009, 22:00   #1
Geomaster
V.I.P. Programiranje
 
Član od: 28.6.2007.
Lokacija: Beograd
Poruke: 2.342
Zahvalnice: 2.836
Zahvaljeno 1.047 puta na 507 poruka
Slanje poruke preko MSN-a korisniku Geomaster Slanje poruke preko Skypea korisniku Geomaster
Određen forumom JavaScript - čudan problem

Uzeo ja danas nešto da petljam oko js koda... I probao sam prvo ovo:
Kod:
document.body.innerHTML+="<b>wassup?</b>"
Kada sam to izvršio na sam kraj <body> dela stranice pojavio se bold tekst wassup?. Ok, a onda sam probao nešto slično:
Kod:
document.body.innerHTML+="<script type=\"text/javascript\">alert('hello world!');</script>";
Kada sam izvršio ovaj kod i pogledao Firebug, on na kraju bodyja kaže da postoji ta skripta tj. da je uspešno dodata. Međutim ona se ne izvršava. Postoji li neki način da nateram to čudo da proradi tj. da se skripta izvrši? Ako ne, da li bi pomoglo kad bi skriptu ubacio u <head> tag a onda pozvao neku njenu funkciju?
Geomaster je offline   Odgovor sa citatom ove poruke
Stara 8.11.2009, 23:46   #2
Deusdies
Starosedelac
 
Član od: 9.11.2005.
Lokacija: bo@galaxy: ~$
Poruke: 1.554
Zahvalnice: 54
Zahvaljeno 439 puta na 215 poruka
Slanje poruke preko AIM-a korisniku Deusdies Slanje poruke preko MSN-a korisniku Deusdies Slanje poruke preko Skypea korisniku Deusdies
Određen forumom Re: JavaScript - čudan problem

Umesto
Kod:
document.body.innerHTML+="<script type=\"text/javascript\">alert('hello world!');</script>";
Probaj:
Kod:
document.body.innerHTML+="<script type=\'text/javascript\'>alert('hello world!');</script>";
Uglavnom, eksperimentisi menjajuci " i '... Javascript se zaista ponasa cudno nekada po tom pitanju.
Deusdies je offline   Odgovor sa citatom ove poruke
Stara 9.11.2009, 14:28   #3
holodoc
Deo inventara foruma
 
Član od: 5.12.2005.
Poruke: 6.785
Zahvalnice: 348
Zahvaljeno 1.893 puta na 1.078 poruka
Određen forumom Re: JavaScript - čudan problem

JavaScript tako funkcioniše Naime, kada browser interpretira HTML stranicu on čita liniju po liniju koda i izvršava potencijalni JavaScript na koji naiđe. Nakon završetka učitavanja stranice tj. kada je stranica učitana što se browsera tiče jedino što gore navedene linije rade jeste manipulacija već učitanog i formiranog DOMa stranice. Drugim rečima browser uopšte nije svestan da se sada u jednom od čvorova DOMa nalazi JavaScript koji treba da se izvrši jer je za njega to sada najobičniji statički sadržaj (kaže se statički tekstualni čvor - node).

Opšte pravilo je da se po mogućnosti sve obične i event handler funkcije smeštaju ili u head deo stranice ili se jednostavno dodaju nakon uspešno učitane stranice a onda se pozivaju kao rezultat nekog drugog eventa i sl.
HTML kod:
<html>
<head>
<script type="text/javascript">
window.onload= function(){
    hello();
}
function hello(){
        alert('Hello world');
}
</script>
</head>
<body>
</body>
</html>
Naravno postoje i druge varijante i kombinacije ali bitno pravilo za zapamtiti je da browseri ne interpretiraju dinamički pridodat JavaScript sadržaj u DOMu.
holodoc je offline   Odgovor sa citatom ove poruke
Stara 9.11.2009, 14:32   #4
Geomaster
V.I.P. Programiranje
 
Član od: 28.6.2007.
Lokacija: Beograd
Poruke: 2.342
Zahvalnice: 2.836
Zahvaljeno 1.047 puta na 507 poruka
Slanje poruke preko MSN-a korisniku Geomaster Slanje poruke preko Skypea korisniku Geomaster
Određen forumom Re: JavaScript - čudan problem

E 'fala puno
Citat:
holodoc kaže: Pregled poruke
Naravno postoje i druge varijante i kombinacije
Da ne misliš možda na body.addEventListener('load', function(){alert(1)}, true)?
Geomaster je offline   Odgovor sa citatom ove poruke
Stara 9.11.2009, 14:50   #5
holodoc
Deo inventara foruma
 
Član od: 5.12.2005.
Poruke: 6.785
Zahvalnice: 348
Zahvaljeno 1.893 puta na 1.078 poruka
Određen forumom Re: JavaScript - čudan problem

Citat:
Geomaster kaže: Pregled poruke
E 'fala puno

Da ne misliš možda na body.addEventListener('load', function(){alert(1)}, true)?
Nema potrebe da koristiš addEventListener a i taj metod nije kompatibilan sa Interent Explorerom koji koristi attachEvent. Mnogo bolje rešenje je korišćenje standardnih klasičnih event listenera onload, onclick itd. U tvom primeru vidim da dodaješ event listener na body element. Neme ničega lošeg u tome ali opšte je pravilo da se za tako nešto koristi window ili na kraju krajeva document objekti. A i onako se za document objekt vezuju sve globalno deklarisane funkcije. To je recimo nešto što pravi problema onima koji počinju ozbiljnije da proučavaju JavaScript pa ne "gutaju" lako koncept prototipnog programiranja gde su funkcije u stvari promenjljive tj. objekti
holodoc je offline   Odgovor sa citatom ove poruke
Stara 9.11.2009, 15:00   #6
Geomaster
V.I.P. Programiranje
 
Član od: 28.6.2007.
Lokacija: Beograd
Poruke: 2.342
Zahvalnice: 2.836
Zahvaljeno 1.047 puta na 507 poruka
Slanje poruke preko MSN-a korisniku Geomaster Slanje poruke preko Skypea korisniku Geomaster
Određen forumom Re: JavaScript - čudan problem

Citat:
holodoc kaže: Pregled poruke
Nema potrebe da koristiš addEventListener a i taj metod nije kompatibilan sa Interent Explorerom koji koristi attachEvent. Mnogo bolje rešenje je korišćenje standardnih klasičnih event listenera onload, onclick itd. U tvom primeru vidim da dodaješ event listener na body element. Neme ničega lošeg u tome ali opšte je pravilo da se za tako nešto koristi window ili na kraju krajeva document objekti. A i onako se za document objekt vezuju sve globalno deklarisane funkcije. To je recimo nešto što pravi problema onima koji počinju ozbiljnije da proučavaju JavaScript pa ne "gutaju" lako koncept prototipnog programiranja gde su funkcije u stvari promenjljive tj. objekti
Lol, ja navik'o na stari C++-ov function je function sistem, JS stvarno malo pravi probleme tj. freak out kad vidim var f = function() { ... }
Geomaster je offline   Odgovor sa citatom ove poruke
Odgovor

Bookmarks sajtovi

Tagovi
javascript, problem

Alatke vezane za temu
Vrste prikaza

Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno


Slične teme
tema temu započeo forum Odgovora Poslednja poruka
Problem, gasenje browsera i usporen rad WMV i FLV formata..... Razial Kvarovi 3 2.6.2009 14:58
HP DeskJet f4180 - problem sa instalacijom vanila Ostale komponente 3 12.3.2009 19:22
Dvd-rw problem Bbandit Nosači podataka 17 11.2.2009 22:21
Čudan problem sa HDD-om ?!? duledixi Nosači podataka 2 21.12.2007 12:45
Veliki problem sa RAM memorijom leka Kvarovi 10 27.7.2006 10:17


Sva vremena su po Griniču +2 h. Sada je 13:46.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2024, vBulletin Solutions, Inc.
Hosted by Beograd.com