Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

AJAX / asinhrono ucitavanje slike

[es] :: Javascript i AJAX :: AJAX / asinhrono ucitavanje slike

[ Pregleda: 3060 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

PeraKojovic
Petar Kojovic
Novi Sad

Član broj: 95569
Poruke: 56
*.ns.ac.yu.



Profil

icon AJAX / asinhrono ucitavanje slike10.10.2007. u 10:40 - pre 200 meseci
Pozdrav,

koje metode za asinhrono on-demand ucitavanje slike preporucujete.
Konkretno:
1. u web stranici odaberem nesto iz menija,
2. na serveru na osnovu nekog IDa pokupim iz SQL Servera 2000 sliku
ili jos bolje pozovem Web servis koji to uradi
3. slika treba asinhrono da stigne u neki div/img,
4. po pristizanju slike, (lokalni) naziv te slike treba da prosledim java
appletu koji je zaduzen za dalji rendering te slike

Za pocetak samo preporuka za neki AJAX framework, ili koriscenje
.ashx asinhronih hendlera ili...? A kasnije mozemo otvoriti detaljniju diskusiju.


Pera

 
Odgovor na temu

noviKorisnik
Dejan Katašić
Novi Sad

Član broj: 13216
Poruke: 4533
195.178.55.*

Sajt: www.novikorisnik.net


+5 Profil

icon Re: AJAX / asinhrono ucitavanje slike10.10.2007. u 12:04 - pre 200 meseci
Evo preporuke, primer:
Code:
<select id="sorser" onchange="menjajSors (this.value);">
    <option value="">- biraj -</option>
    <option value="http://farm3.static.flickr.com/2328/1504623644_0d8a742470_o_d.jpg">kec</option>
    <option value="http://farm3.static.flickr.com/2148/1496652871_06ef7616dd_o_d.jpg">dva</option>
</select>
<img id="slika" width="1" height="1" onload="promenjenoJe ();" />
<textarea id="monitor" cols="99" rows="8"></textarea>
<script>
function menjajSors (sors) {
    if (sors == '') return;
    document.getElementById ('slika').src = sors;
    pribelezi ('menjanje');
}
function promenjenoJe () {
    pribelezi ('promenjeno');
}
function pribelezi (fraza) {
    document.getElementById ('monitor').value += new Date ().toString () + ' ' + fraza + ' ' + document.getElementById ('slika').src + '\n';
}
</script>

Testiraj, videćeš da radi asinhrono, jer img element ima hendler onload - to bi trebalo da bude dovoljno, a rekao bih i da je prilično jednostavno.

Nije mi jasna tačka 2 opisa scenarija, no to ne pravi nikakvu frku dogod zahtev šalješ get metodom i dobijaš nazad sliku s regularnim zaglavljem i sadržajem.

Za tačku 4, nadam se da znaš kako s tim na kraj, nisam se bakćao s apletima pa ne mogu dalje ni da pomognem.
 
Odgovor na temu

PeraKojovic
Petar Kojovic
Novi Sad

Član broj: 95569
Poruke: 56
*.ns.ac.yu.



Profil

icon Re: AJAX / asinhrono ucitavanje slike10.10.2007. u 12:31 - pre 200 meseci
Mozda nisam bio bas najjasniji u vezi pojma "po pristizanju slike".
U datom primeru se funkcija PrimljenaJe pokrece, cim i prvi stream slike
stigne.
Ja pokusavam sledece:
tek kada slika stigne U CELOSTI, odnosno kada je lokalni browser
cache-ira (snimi) kod sebe, ja mogu da prosledim njen URL ili fizicku adresu
te KOMPLETNO STIGLE, SNIMLJENE slike mom appletu.
Napisao sam kod koji radi traljavo, namerno ga nisam postavio, zelim da
se konsultujem sa kolegama, da vidimo razlicite pristupe.

Deo sa DB nije bitan, kao ni deo sa appletima, ali sam radi kompletnije
slike objasnio sta pokusavam..

Pozdrav
 
Odgovor na temu

bzero
dev null
europe

Član broj: 5907
Poruke: 371
*.dynamic.sbb.co.yu.

Jabber: bzero@elitesecurity.org
Sajt: www.google.com/search?q=b..


Profil

icon Re: AJAX / asinhrono ucitavanje slike10.10.2007. u 13:06 - pre 200 meseci
Citat:

...
U datom primeru se funkcija PrimljenaJe pokrece, cim i prvi stream slike
stigne.
Ja pokusavam sledece:
tek kada slika stigne U CELOSTI
...


U ovom primeru sto je dao nK, desava se upravo to, promenjenoJe() se poziva na onload event slike, tj kada je browser ucita (u celosti).
Never trust an operating system you don't have sources for.
 
Odgovor na temu

noviKorisnik
Dejan Katašić
Novi Sad

Član broj: 13216
Poruke: 4533
195.178.55.*

Sajt: www.novikorisnik.net


+5 Profil

icon Re: AJAX / asinhrono ucitavanje slike10.10.2007. u 13:33 - pre 200 meseci
... jedini problem bi mogao biti ako bi koristio animirane gifove, jer oni okidaju onload na svakom frejmu animacije. Za sve ostale slučajeve verujem da nije potrebno ništa komplikovanije od ovog.
 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.dynamic.sbb.co.yu.



+19 Profil

icon Re: AJAX / asinhrono ucitavanje slike12.10.2007. u 18:07 - pre 200 meseci
Može li ovako:
Code:

function UcitajSliku(gde, url, callback)
  newImage= new Image();
  newImage.src= url;
  while(!newImage.complete) {
  }
  Obj= document.getElementById(gde);
  Obj.src= url; // slika je keširana pa će ovo ići momentalno
  // sad pozovi taj callback
}

Inače znate li način kako da sliku učitanu u newImage prebacim direktno u Obj umesto što se oslanjam na to da će biti keširana.
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

noviKorisnik
Dejan Katašić
Novi Sad

Član broj: 13216
Poruke: 4533
*.ADSL.neobee.net.

Sajt: www.novikorisnik.net


+5 Profil

icon Re: AJAX / asinhrono ucitavanje slike12.10.2007. u 20:58 - pre 200 meseci
Možda može, ali mi se nikako ne sviđa ta while petlja.
 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.dynamic.sbb.co.yu.



+19 Profil

icon Re: AJAX / asinhrono ucitavanje slike13.10.2007. u 16:50 - pre 200 meseci
hm, šta predlažeš, kako očitavati property "complete",
nisam primetio probleme u radu ovog koda.
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

noviKorisnik
Dejan Katašić
Novi Sad

Član broj: 13216
Poruke: 4533
*.ADSL.neobee.net.

Sajt: www.novikorisnik.net


+5 Profil

icon Re: AJAX / asinhrono ucitavanje slike13.10.2007. u 18:03 - pre 200 meseci
Zašto vrteti petlju dogod se ne desi complete, kad je već podržan event handler onload koji se okida u istom trenutku kada se menja property complete?

I da nema tog onload, opet je besmisleno stalno vrteti praznu petlju, onda bi mogao da se podesi setInterval koji bi to proveravao na svakih 24ms, dovoljno.
 
Odgovor na temu

PeraKojovic
Petar Kojovic
Novi Sad

Član broj: 95569
Poruke: 56
80.74.165.*



Profil

icon Re: AJAX / asinhrono ucitavanje slike16.10.2007. u 16:22 - pre 200 meseci
Hvala na zanimljivim odgovorima i podršci za ovu temu. U principu sam rešio problem,
oko čega je i počela zainteresovanost za datu problematiku.

Ako nekog interesuje, problem se sveo na to da ako java appletu pokazem src ka
slici negde, on sam blokira rad svega ostalog, dakle, on je zahtevao sinhrono
ucitavanje slike. Problem je moguce bilo resiti na vise nacina

1. da se da SRC nekoj skrivenoj slici na stranici, pa njen onload event da se upotrebi
za sada dodeljivanje te kesirane slike appletu

ili,

2. da se u appletu napravi poseban tred koji po dobijanju naziva udaljene slike, bio to
ashx hendler ili sta god, samostalno-asinhrono ucitava/vuce sliku sa neta, a trenutno
vraca akciju nazad na stranicu/jscript

Pozdravi,
Pera
 
Odgovor na temu

[es] :: Javascript i AJAX :: AJAX / asinhrono ucitavanje slike

[ Pregleda: 3060 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.