Autor Zpráva
Školník
Profil
Pokud se podíváte na to, co jsem doposud sesmolil, tak to docela funguje. Pouze jedna věc nejde, a to když nechám okno1 otevřený a kliknu na 2: okno1 se zavře a otevře se okno2, ale nechá si rozměry okna1. Poradí mi někdo jak to vyřešit? Díky..

http://pracovniweb.kvalitne.cz/okna/
venca12
Profil
Je to tím, že nepřiřazuješ do proměnné otevrene_okno žádnou proměnnou. Tzn. podmínka
if(otevrene_okno){
není nikdy splněna a již otevřené okno se ti nezavře. Což způsobí to, že se ti následující obrázky otevírají, díky proměnné noveokno, pořád do toho samého, již otevřeného okna.

Aby ti to fungovalo tak jak chceš, musíš upravit tyto dva řádky z:
noveokno=window.open("otevrit-okno.php?src="+odkaz+"&title="+title+"&w  idth="+sirka+"&height="+vyska+"","otevrene_okno",nastaveni);  

noveokno.focus();
na
otevrene_okno=window.open("otevrit-okno.php?src="+odkaz+"&title="+t  itle+"&width="+sirka+"&height="+vyska+"","",nastaveni);  

otevrene_okno.focus();


Sice tam bude jedna drobná nekorektnost v tom, že když zavřeš okno křížkem, proměnná otevrene_okno se nevyprázdní a při otevření dalšího okna se bude skript pokoušet o zavření již zavřeného okna, díky splněné podmínce, ale na to teď sere pes.

Pokud budeš chtít, můžeš přepsat úvodní inicializaci proměnné otevrene_okno z
var otevrene_okno=0;
na
var otevrene_okno=null;
Tím, že do té proměnné přiřadíš nulu (0) nastaví se její datový typ na číselný. Potom do ní přiřazuješ objekt, takže se zbytečně přetypovává. Ale to je jenom takový detail (v porovnání s pokusem o zavření zavřeného okna zanedbatelný :))
Školník
Profil
Díky za vyčerpávající rady, udělal jsem to podle toho a funguje to tak jak má..

Tedy skoro..:-(

Ta jedna drobná nekorektnost způsobí, že když okno zavřu křížkem nebo klikem na obrázek, tak se neotevře přes javascript ale do novýho okna.. Což tak být bohužel nemůže, protože počítám s tím, že většina návštěvníků okno zavře klikem na obrázek a tohle přepínání je tam jen jako pojistka pro menšinu..
venca12
Profil
Tak v tom případě doporučuji ještě upravit podmínku na
  if(otevrene_okno && !otevrene_okno.closed){
Školník
Profil
Venco DÍKY. S tím bych si neporadil ani kdybych se snažil sebevíc. Už to funguje přesně jak má, IE a Firefox mají trochu problém s otevřením asi tak melého okýnka jako je u 2. odkazu, ale to řešit nebudu. Ještě jednou díky a užij si víkend..:-)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0