🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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.
#340
Author: sulti
Date: Wed, 09 Jan 2002 22:39
35 lines
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.
#341
Author: Vax
Date: Thu, 10 Jan 2002 09:35
43 lines
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.
#342
Author: sulti
Date: Thu, 10 Jan 2002 20:44
48 lines
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.
#343
Author: Vito
Date: Thu, 10 Jan 2002 21:21
17 lines
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.
#344
Author: sulti
Date: Thu, 10 Jan 2002 22:28
45 lines
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