Autor Zpráva
johndoe
Profil
ahoj, dá se nějak vytáhnout z prohlížeče, jaká okna jsou otevřena ?
a pak je třeba pozavírat apod ...
díky
Anonymní
Profil *
Nejjednodušší je asi vizuální kontrola. Nebo ne? Velmi zvláštní otázka.
johndoe
Profil
no, ještě jsem neviděl skript, který provede vizuální kontrolu ... :)

situace je taková : PHP skript si hlídá aktivitu uživatele, ve chvíli kdy se dlouho nic neděje, provede odhlášení. Uživatel si mezitím mohl pootvírat několik oken, ve kterých pracoval. Když se provede odhlášení uživatele, shodí se tím session, která nese např. přihlašovací údaje do DB... v těch otevřených oknech se pak, bez těchto údajů, dějí "nepěkné věci" ... proto bych je rád zavřel spolu s odhlášením...
Joker
Profil
Funkce window.open() má návratovou hodnotu, a to objekt toho okna které se otevřelo. Pokud si jí někam uložíte, můžete pak to okno ovládat.
Příklad:
var okno = window.open('http://www.google.com');
//něco dělej
okno.close();

v těch otevřených oknech se pak, bez těchto údajů, dějí "nepěkné věci"
Tak to je ovšem chyba Vaší aplikace. Po zrušení session by se neměly dít žádné "nepěkné věci", očekával bych leda tak automatické přesměrování na přihlašovací stránku.
johndoe
Profil
Souhlasím s Vámi ohledně těch "nepěkných věcí" a nedostatku v programu, řešení ale závisí na tom, zda se mi povede vyřešit tuhle záležitost :)

Co se týká návratové hodnoty, ukládám si všechny do pole a když přijde odhlášení, nejdříve se spouští funkce, která tyto okna uzavře jedno po druhém, to je v pořádku.
Ve chvíli, kdy se z nějakého důvodu reloadne obsah toho okna s tímto polem, přijdu o jeho obsah a není co zavírat ( a reloadu toho okna je asi těžko zabránit )
Potřeboval bych ty odkazy na otevřená okna mít k dispozici i po reloadu stránky ...
peta
Profil *
johndoe
okna otevrena z 1 okna se daji dohledat pres parent nebo top
var x,y;
x = window.parent.window; //top.window
y = "";
for (i in x) {y+ = i + "\n";}
document.write(y); //alert(y);

To by tu mohlo byt jako docela zajimavy priklad, otevrit si pres open asi 5 oken, kaze pojmenovat jinak, treba maruska, jana, pepik ... a pak to alertem zobrazit.
johndoe
Profil
peta

jojo, tohle vypadá dobře, trošičku se pohrabu v syntaxi (neznám "for (i in y)" ) a zkusím to použít.
díky moc ![
Joker
Profil
V případě reloadu stránky už toho asi moc nenaděláte, nemám tušení, jak někam v JS uložit objekt window a pak ho zas načíst.

Souhlasím s Vámi ohledně těch "nepěkných věcí" a nedostatku v programu, řešení ale závisí na tom, zda se mi povede vyřešit tuhle záležitost :)
To by ale nemělo. Takováhle věc by neměla záviset na nějakém Javascriptovém řešení...
Toto téma je uzamčeno. Odpověď nelze zaslat.

0