DevProTalk

Forumi IT profesionalaca
web development, web design, e-business, SEO


Idite nazad   DevProTalk > Web development i web aplikacije > (X)HTML, JavaScript, DHTML, XML, CSS
Želite da se reklamirate ekskluzivno na ovoj poziciji? Javite se

(X)HTML, JavaScript, DHTML, XML, CSS Client scripting tehnologije, Dynamic HTML, Cascading Stylesheets, XML i standardi

Odgovori
 
Alati teme Način prikaza
Staro 02. 08. 2007.   #1
jablan
VD IT Direktora
Invented the damn thing
 
Avatar jablan
 
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
jablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamen
Default 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.
jablan je offline   Odgovorite uz citat
Staro 02. 08. 2007.   #2
noviKorisnik
Dejan Katašić
Wrote a book
 
Avatar noviKorisnik
 
Datum učlanjenja: 10.06.2005
Lokacija: Novi Sad
Poruke: 1.017
Hvala: 129
86 "Hvala" u 43 poruka
noviKorisnik će postati "faca" uskoro
Default

Recimo da na poziciju gde hoće da ubaci to tvoje postavi samo kontejner...
Kôd:
<div id="nesto_php"></div>
... a da skript postavi na dno dokumenta, da se učitava i izvršava na kraju. Onda ti otpada document.write, ali može document.getElementById ('nesto_php').innerHTML = ':-)';
noviKorisnik je offline   Odgovorite uz citat
Staro 02. 08. 2007.   #3
jablan
VD IT Direktora
Invented the damn thing
 
Avatar jablan
 
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
jablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamen
Default

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š".
jablan je offline   Odgovorite uz citat
Staro 02. 08. 2007.   #4
Br@nkoR
banned
Professional
 
Avatar Br@nkoR
 
Datum učlanjenja: 04.06.2005
Poruke: 371
Hvala: 0
738 "Hvala" u 83 poruka
Br@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoro
Default

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.”
Br@nkoR je offline   Odgovorite uz citat
Staro 02. 08. 2007.   #5
kodi
133t
Master
 
Avatar kodi
 
Datum učlanjenja: 07.01.2006
Lokacija: Beograd
Poruke: 714
Hvala: 16
37 "Hvala" u 28 poruka
kodi is on a distinguished road
Pošaljite ICQ poruku za kodi
Default

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 )
__________________
kodi je offline   Odgovorite uz citat
Staro 02. 08. 2007.   #6
misk0
majstor
Wrote a book
 
Avatar misk0
 
Datum učlanjenja: 30.01.2006
Lokacija: Lugano - Switzerland
Poruke: 1.251
Hvala: 219
106 "Hvala" u 67 poruka
misk0 će postati "faca" uskoromisk0 će postati "faca" uskoro
Pošaljite ICQ poruku za misk0 Pošaljite poruku preko Skype™ za misk0
Default

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...?
misk0 je offline   Odgovorite uz citat
Staro 02. 08. 2007.   #7
jablan
VD IT Direktora
Invented the damn thing
 
Avatar jablan
 
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
jablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamen
Default

@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.
jablan je offline   Odgovorite uz citat
Staro 02. 08. 2007.   #8
bluesman
Goran Pilipović
Sir Write-a-Lot
 
Avatar bluesman
 
Datum učlanjenja: 18.05.2005
Lokacija: Beograd
Poruke: 5.450
Hvala: 288
1.247 "Hvala" u 446 poruka
bluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušati
Pošaljite ICQ poruku za bluesman
Default

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!
bluesman je offline   Odgovorite uz citat
Staro 02. 08. 2007.   #9
jablan
VD IT Direktora
Invented the damn thing
 
Avatar jablan
 
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
jablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamen
Default

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.
jablan je offline   Odgovorite uz citat
Staro 07. 08. 2007.   #10
noviKorisnik
Dejan Katašić
Wrote a book
 
Avatar noviKorisnik
 
Datum učlanjenja: 10.06.2005
Lokacija: Novi Sad
Poruke: 1.017
Hvala: 129
86 "Hvala" u 43 poruka
noviKorisnik će postati "faca" uskoro
Default

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>
Moguće da ovaj mali setTimeout oslobađa muke koju si inicijalno imao.
noviKorisnik je offline   Odgovorite uz citat
Odgovori


Alati teme
Način prikaza

Pravila pisanja
Možete ne započinjati nove teme
Možete ne slati odgovore
Možete ne slati priloge
Možete ne izmeniti svoje poruke
vB kôd je Uključen
Smajliji su Uključen
[IMG] kod je Uključen
HTML kôd je Isključen
Pogledajte forum

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. 03:45
Dinamički Title stranice marijano PHP 3 01. 04. 2009. 20:56
Unit testing JavaScripta Ilija Studen (X)HTML, JavaScript, DHTML, XML, CSS 0 01. 06. 2007. 12:34
Sporo usluživanje zahteva... Ilija Studen Web Hosting, web serveri i operativni sistemi 27 02. 04. 2007. 20:26
max-width preko javascripta ? ivanhoe (X)HTML, JavaScript, DHTML, XML, CSS 2 12. 02. 2006. 11:23


Vreme je GMT +2. Trenutno vreme je 17:14.


Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.
Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.