|
(X)HTML, JavaScript, DHTML, XML, CSS Client scripting tehnologije, Dynamic HTML, Cascading Stylesheets, XML i standardi |
|
Alati teme | Način prikaza |
02. 08. 2007. | #1 |
VD IT Direktora
Invented the damn thing
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
|
Sporo učitavanje dinamički generisanog javascripta
Dinamički generišem javascript snippet koji treba da prikaže parče html-a u nekoj stranici.
Drugim rečima, korisniku šaljem <script src="nešto.php"> tag koji on može da postavi na neko mesto u svojoj stranici i na tom mestu očekuje da mu se pojavi neki sadržaj koji ja generišem. Dosad sam radio tako što u toj skripti imam document.write() i to lepo radi, ali postoji problem: Ako generisanje "nešto.php" traje malo duže ili postoji neki problem koji produžava njegovo izvršavanje, u korisnikovom browseru stranica stoji učitana do mesta gde treba da dođe to moje parče i onda pravi pauzu dok se nešto.php smisli, i tek onda nastavlja da renderuje ostatak stranice. Hoću da izbegnem mogućnost ovog zastoja. Da li je neko od prisutnih imao sličan problem i kako ga je rešio? Mislite li da je IFRAME bolje rešenje za ovo? IFRAME mi se ne dopada zato što se odvojeno stilizuje od stranice u kojoj se nalazi. |
02. 08. 2007. | #2 |
Dejan Katašić
Wrote a book
Datum učlanjenja: 10.06.2005
Lokacija: Novi Sad
Poruke: 1.017
Hvala: 129
86 "Hvala" u 43 poruka
|
Recimo da na poziciju gde hoće da ubaci to tvoje postavi samo kontejner...
Kôd:
<div id="nesto_php"></div> |
02. 08. 2007. | #3 |
VD IT Direktora
Invented the damn thing
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
|
To je jedno moguće rešenje, ali malo usložnjava instalaciju i povećava mogućnost greške - korisnik mora da uređuje svoju stranicu na dva mesta, a ovako mu samo kažem "umnoži ovo parče koda i nalepi tamo gde hoćeš".
|
02. 08. 2007. | #4 |
banned
Professional
Datum učlanjenja: 04.06.2005
Poruke: 371
Hvala: 0
738 "Hvala" u 83 poruka
|
Možda ti pomogne defer atribut script elementa, ali to radi samo u IE, a za ostale bi moglo da dodaš da na event DOMContentLoaded štampa taj script element.
__________________
Don't look at me; I'm lost too. “If you can't dazzle them with brilliance, baffle them with bul*s**t.” |
02. 08. 2007. | #5 |
133t
Master
|
hmmm...a da tim prvim document.write-om generises div koji poziva funkciju koja ceka window.onload a onda povlaci snipet sa servera ajax-om
ovo bi (valjda) bilo ekvivalentno predlogu sa divom tamo gde treba - script tagom iznad </body> (apsolutno nisam siguran dal' ovo uopste moze da se izvede ) |
02. 08. 2007. | #6 |
majstor
Wrote a book
|
Jesi pokusao taj nesto.php da zamjenis sa obicnim nesto.js fixnog sadrzaja pa da vidis je'l problem u generisanju tog PHP fajla ili je problem 'uvlacenje' fajla sa drugog sajta /servera...?
|
02. 08. 2007. | #7 |
VD IT Direktora
Invented the damn thing
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
|
@BrankoR: Probao sam defer, kao što kažeš nema nikakvog efekta u FF, stranica čeka dok se js izgeneriše.
@kodi: Tako nešto je i meni palo na pamet, verovatno ću baš to prvo da probam. @misko: Da, kad je statički JS u pitanju to radi kako treba. Ali hoću da se osiguram da mi generisanje, koje iz različitih razloga može da potraje, ne zaustavlja učitavanje ostatka stranice. |
02. 08. 2007. | #8 |
Goran Pilipović
Sir Write-a-Lot
|
Zavisi i kakv ti je sadrzaj tu. Ja sam skoro imao problem sa sajtom koji (iz nekog razloga) ima preko 600 kategorija (od kojih su 90% prazne) do 5 nivoa i sve se ucitavaju na svakoj strani kao stablo. Resio sam tako sto sam iz PHP-a kada god se nesto promeni u kategoriji, generisao js file, nesto kao cache, koji onda include-ujem u frontend na standardan nacin <script src=... >. To je radilo ok i nije bilo nikakvih zastoja, osim samog generisanja stabla, ali to ne moze brze jer ima previse kategorija a i ne zavisi od php.
__________________
Goran Pilipović a.k.a. Ugly Fingers Bradley f.k.a. bluesman I don't always know what I'm talking about but I know I'm right! |
02. 08. 2007. | #9 |
VD IT Direktora
Invented the damn thing
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
|
Upravo sam probao ovo kodijevo rešenje, izgleda da radi baš kako mi treba.
Koristio sam XmlHttpRequest kod odavde: http://www.quirksmode.org/js/xmlhttp.html i nK-ov event attach: http://www.devprotalk.com/showthread.php?t=1478 Hvala svima. Ako nekom treba kôd, okačiću. |
07. 08. 2007. | #10 |
Dejan Katašić
Wrote a book
Datum učlanjenja: 10.06.2005
Lokacija: Novi Sad
Poruke: 1.017
Hvala: 129
86 "Hvala" u 43 poruka
|
Upravo sam naišao na zanimljivu varijaciju - nešto otprilike ovako ...
Kôd:
<div id="insertPoint" style="display: inline;"></div> <div id="insertScriptPoint" style="display: none;"></div> <script> var insertScriptURL = "http://yourserver.co.yu/yourscript.js?tmstmp=" + new Date ().getTime (); var insertScript = document.createElement ("script"); insertScript.type = "text/javascript"; setTimeout ("insertScript.src = insertScriptURL; document.getElementById ('insertScriptPoint').appendChild (insertScript);", 1); </script> |
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
IE8 opacity iz javascripta | dee | (X)HTML, JavaScript, DHTML, XML, CSS | 9 | 28. 08. 2010. 04:45 |
Dinamički Title stranice | marijano | PHP | 3 | 01. 04. 2009. 21:56 |
Unit testing JavaScripta | Ilija Studen | (X)HTML, JavaScript, DHTML, XML, CSS | 0 | 01. 06. 2007. 13:34 |
Sporo usluživanje zahteva... | Ilija Studen | Web Hosting, web serveri i operativni sistemi | 27 | 02. 04. 2007. 21:26 |
max-width preko javascripta ? | ivanhoe | (X)HTML, JavaScript, DHTML, XML, CSS | 2 | 12. 02. 2006. 12:23 |