Thread View: pl.comp.lang.javascript
5 messages
5 total messages
Started by sulti
Wed, 09 Jan 2002 22:39
"dynamiczne" ustawianie rozmiaru nowego okna.
Author: sulti
Date: Wed, 09 Jan 2002 22:39
Date: Wed, 09 Jan 2002 22:39
35 lines
2043 bytes
2043 bytes
witam!
napisalem juz pare "re" teraz kolej na moje pytanie :-)
mam strone ze zdjeciami, kazde innego rozmiaru.
do ich wyswietlenia uzywam funkcji laduj(url_zdjecia)
ktora znajduje sie w osobnym pliku .js i ma postac:
<!--
function laduj(url) {
zd = new Image;
zd.src = url;
szer = zd.width + 40;
wys = zd.height + 30;
window.open
(url,'new','width='+szer+',height='+wys+',top=0,left=0,resizable=yes,scrollb
ars=yes');
}
//-->
jak widac chodzi tutaj o to, zeby skrypt pobieral rozmiary
zdjecia i dopasowywal okienko do jego rozmiarow.
i teoretycznie dziala, ale dopiero po drugim kliknieciu....
nie mam pojecia dlaczego tak sie dzieje, jak otwieram
stronke, klikam na link, to otwiera sie w okienku, ja wiem,
moze 90x90, a nie w takim jak powinno. jak okienko zamkne
i klikne jeszcze raz na link to jest git. ale nie zawsze sie tak
dzieje, czasem dziala ok :-)))) moze ktos wie co to moze
byc lub ma jakis skrypt ktory robi to samo co moj, z tym, ze
dziala? :-))))
aha, odnosnik w htmlu ma postac
<a href="javascript:laduj('milla1.jpg')">...</a>
plz o jakies podpowiedzi...
sulti [...]
Re: "dynamiczne" ustawianie rozmiaru nowego okna.
Author: Vax
Date: Thu, 10 Jan 2002 09:35
Date: Thu, 10 Jan 2002 09:35
43 lines
2198 bytes
2198 bytes
"sulti" <sulti@poczta.onet.pl> wrote in message news:a1igsb$m5q$4@news.onet.pl... [...] > zd = new Image; > zd.src = url; > szer = zd.width + 40; > wys = zd.height + 30; > > window.open > (url,'new','width='+szer+',height='+wys+',top=0,left=0,resizable=yes,scrollb > ars=yes'); [...] > jak widac chodzi tutaj o to, zeby skrypt pobieral rozmiary > zdjecia i dopasowywal okienko do jego rozmiarow. > i teoretycznie dziala, ale dopiero po drugim kliknieciu.... > nie mam pojecia dlaczego tak sie dzieje, jak otwieram > stronke, klikam na link, to otwiera sie w okienku, ja wiem, > moze 90x90, a nie w takim jak powinno. jak okienko zamkne > i klikne jeszcze raz na link to jest git. ale nie zawsze sie tak > dzieje, czasem dziala ok :-)))) moze ktos wie co to moze > byc lub ma jakis skrypt ktory robi to samo co moj, z tym, ze > dziala? :-)))) pozwol sie naprowadzic... piszesz ok. 90x90 - hmm... moze 100x100? kiedy tak moze byc... ano wtedy, gdy probujesz otworzyc mniejsze... kiedy mozesz probowac... gdy np. width i height sa rowne 0 (wowczas szer=40, wys=30). dlaczego? probujesz ladowac obrazek, dokladniej _zlecasz_ jego ladowanie, ale zycie (i wykonywanie skryptu) toczy sie dalej... masz duza szanse, ze odczytujesz wymiary obrazka, ktorego jeszcze nie ma, wiec sa zerowe... juz wiesz, jak temu zaradzic? ;)) v.
Re: "dynamiczne" ustawianie rozmiaru nowego okna.
Author: sulti
Date: Thu, 10 Jan 2002 20:44
Date: Thu, 10 Jan 2002 20:44
48 lines
2307 bytes
2307 bytes
> pozwol sie naprowadzic...
>
> piszesz ok. 90x90 - hmm... moze 100x100?
> kiedy tak moze byc... ano wtedy, gdy probujesz otworzyc mniejsze...
> kiedy mozesz probowac... gdy np. width i height sa rowne 0 (wowczas
szer=40,
> wys=30).
> dlaczego?
> probujesz ladowac obrazek, dokladniej _zlecasz_ jego ladowanie,
> ale zycie (i wykonywanie skryptu) toczy sie dalej...
> masz duza szanse, ze odczytujesz wymiary obrazka, ktorego jeszcze nie ma,
> wiec sa zerowe...
>
> juz wiesz, jak temu zaradzic? ;))
>
> v.
>
tak, chodzi o to zeby zaladowac image do cashe'u przegladarki...
isn't it? ;-)) ale jak? jak zrobilem to na podstawie "preload'u"
ktory ostatnio umiescilem na liscie to dalej nie dziala... oto co mam:
<!--
var preloadTimer;
function laduj(url){
zdjecie = new Image();
zdjecie.src = url;
preloadCheck();
szer = zdjecie.width + 40;
wys = zdjecie.height + 30;
window.open(url,'new','width='+szer+',height='+wys+',top=0,left=0,resizable=
yes,scrollbars=yes');
}
function preloadCheck() {
if (!zdjecie.complete)
setTimeout('preloadCheck()',100);
}
//-->
moze ktos mi powie dlaczego to nie dziala ??!?!?!?!?
przeciez w momencie: if (!zdjecie.complete) powinno sie
kapnac ze nie jest cale i znowu sprawdzic, a tymczasem znow
laduje sie do malego okienka....
looking forward 4 some unswerz ;-)))
sulti
Re: "dynamiczne" ustawianie rozmiaru nowego okna.
Author: Vito
Date: Thu, 10 Jan 2002 21:21
Date: Thu, 10 Jan 2002 21:21
17 lines
1566 bytes
1566 bytes
"sulti" <sulti@poczta.onet.pl> wrote in message news:a1kudk$28q$1@news.onet.pl... [...] > moze ktos mi powie dlaczego to nie dziala ??!?!?!?!? > przeciez w momencie: if (!zdjecie.complete) powinno sie > kapnac ze nie jest cale i znowu sprawdzic, a tymczasem znow > laduje sie do malego okienka.... > > looking forward 4 some unswerz ;-))) Przeciez funkcja laduj() nie zatrzymuje sie na preloadCheck(), tylko wykonywane sa wszystkie instrukcje do jej konca. Dlatego nawet nie minie jeden cykl sprawdzania, a zostanie otworzony popup. Powinienes wywolac otwieranie okna wlasnie w preloadCheck(). Vito
Re: "dynamiczne" ustawianie rozmiaru nowego okna.
Author: sulti
Date: Thu, 10 Jan 2002 22:28
Date: Thu, 10 Jan 2002 22:28
45 lines
2204 bytes
2204 bytes
> Przeciez funkcja laduj() nie zatrzymuje sie na preloadCheck(), tylko
> wykonywane sa wszystkie instrukcje do jej konca. Dlatego nawet nie minie
> jeden cykl sprawdzania, a zostanie otworzony popup. Powinienes wywolac
> otwieranie okna wlasnie w preloadCheck().
>
> Vito
>
no wreszcie :-))) big thanks za ten pomysl.... male niedopatrzenie z mojej
strony ;-) teraz juz dziala. [chyba, bo nie wiem czy juz te wszystkie
zdjecia
nie siedza czasem w cashe'u, z tego co zauwazylem to IE ma dosc duzy cash]
a jesli kogos interesi jak teraz wyglada moj skrypt to prosze bardzo:
<!--
var preloadTimer;
function laduj(url) {
if (document.images) {
zdjecie = new Image();
zdjecie.src = url;
}
if (document.images) {
adres = url;
preloadCheck();
}
}
function preloadCheck() {
if (zdjecie.complete) {
x = zdjecie.width + 40;
y = zdjecie.height + 30;
max = screen.availHeight - 30;
if (y > max) y = max;
window.open
(adres,'','width='+x+',height='+y+',top=0,left=0,resizable=yes,scrollbars=ye
s');
}
else
preloadTimer = setTimeout('preloadCheck()', 0);
}
//-->
jeszcze raz dzieki za podpowiedzi...
[eot]
sulti [...]
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads