Autor Zpráva
mackopu
Profil
Pomocí cyklu otevírám v php okna, kterým přiřazuji identifikátor:
<?php

for($i = 0; $i < 10; $i++) {
echo "<script>";
echo "$i = window.open('nejake_parametry');";
echo "</script>";
}
?>
To mi vygeneruje HTML:
<script>

0 = window.open('nejake_parametry');
</script>
<script>
1 = window.open('nejake_parametry');
</script>
... atd.
No a nyní bych potřeboval vytvořit javascriptovou funkci, která (při znalosti počtu otevřených oken) je dokáže např. pomocí buttonu s onclickem všechna naráz zavřít. Zkoušel jsem do ní napsat cyklus, který pro každý identifikátor provede i.close(), ale stále to nechodí. Poradíte?
mackopu
Profil
Ještě ta funkce, která nechodí, a button:
<script language=javascript>

function ZavriVse(pocet) {
for(x=0; x<pocet, x++) {
x.close();
}
}
</script>
<input type="button" value="Zavři vše" onclick="ZavriVse(10);">
Hází chybu, že byl očekáván objekt.
peta
Profil *
mackopu
a proc by to melo chodit v JS?

kdyz napises v PHP
$a=1;
$a.close() neboli 1.close(); co myslis ze se stane? Proste to mas nespravne pojmenovane a kdyz volas deti objektu "1" tak napise chybu. To je preci logicke, protoze "1" neni objekt, ale CISLO!!!

a proc by to melo chodit v JS?

Kdyz otviras nove okno window.open('nejake_parametry') , tak tvoje 'nejake_parametry' je udaj, ktery je dulezity pro jeho uzavreni. jeden z techa parametru je name okna a to je ten objekt na ktery muzes navazat udalost close.

Jakpsatweb - javascript - objekt window - a poslednich 20 radku ze spodu je prace window a framy
peta
Profil *
mackopu A propo, jak bys napsal v javascriptu cyklus 0 do 10 , kdyz si prepises cislo 1?

Kdyz by si pan racil nastudovat nejaky programovaci jazyk, mozna by to pochopil... Manual k JS, viz techto par odkazu
http://www.volny.cz/peter.mlich/www.htm#msub3
mackopu
Profil
Omlouvám se za delší nepřítomnost, ale byl jsem služebně out. Překvapil mě peta - 21.2.2006 16:31:27, který přichází s řešením na straně serveru (PHP) - ale o tom to tu (javascript) opravdu není; přesto děkuji. Pořebuji klientské řešení. Tentýž diskutér - 21.2.2006 16:34:53 - mě podezřívá z neschopnosti naučit se programovací jazyk (nebo dýchat). Já protestuji. Napište mi zde kdokoliv funkční skript, který otevře rázem více oken a stiskem jednoho tlačítka z téže stránky je dovede všechna rázem zavřít a budu si drbat hlavu. Dříve ne.
Tvoje stránky znám, peto, ale popravdě - jsou (jen) plné odkazů na řešení jiných - prosazuješ je tu nadmíru - nic ve zlém. Řekněme ale, že bychom pro začátek vycházeli z toho, že základy Javasriptu ovládám, co ty na to? Mně jde opravdu principiálně o ten problém. Ráčil jsem si nastudovat pět programovacích jazyků a tohle fakt neumím. Až si budu chtít nechat vynadat za OT přístup, tak s tím vlezu na nějakej seznamáckej pokec o gay problematice, ale tady hledám ŘEŠENÍ. Sám ho často nabízím (i s cestou) a totéž očekávám.
Jak tedy, hergot, zavřít rázem všechna z jedné stránky otevřená okna javascriptem a ještě k tomu bez osobních projekcí?
peta
Profil *
mackopu :))) Ja tam mam spoustu odkazu, protoze jsem potreboval reseni urcitych problemu a na ty stranky jsem pritom narazil a vetsinou to tam vyreseno je. Ale kvuli tobe muzu zalozit stranku se sbirkou prikladu prave ze vsech tech odkazu, jestli mne budes sponzorovat a vetsina tech, kterym vadi, ze odkazuji na odkazy na me strance. Ja to tvrdim stale, ze juhu to tu ma desne omezeny a rozhodne by pomohlo, kdyby tu pridal par kvalitnich scriptu na rozbalovaci menu, kalendar, hodiny, .... viz phpunas, na ktery casto odkazuji.

co se tyce tveho problemu, resil bych to asi takto:
var okna=["maminka","tatinek","dedecek","babicka"];
normalne, kdyz chces zavrit okno napises
parent.maminka.close()
objekt je totez jako pole...
parent["maminka"].close()
a reseni je jasne
for (i in okna) {parent[i].close()}

staci?

rozhodne bych netvrdil, ze ovladas programovani, kdyz napises
for (i=0;i<9;i++) i.close()
to je totez jako
0.close()
1.close()
2.close()
a to je NAPROSTY NESMYSL
to sem se ti pokousel jenom rici
nemyslim si, ze je to OT, cili off topic a ja mam rad cestinu, mimo tema.

To PHP byla jen odbocka, protoze tak to tam mas napsane ty nahore.
for($i = 0; $i < 10; $i++) {
echo "<script>";
echo "$i = window.open('nejake_parametry');";
echo "</script>";
}
jinymi slovy je to presne toto:
0 = window.open('nejake_parametry');
1 = window.open('nejake_parametry');
2 = window.open('nejake_parametry');
a kdyz ted chci pocitat...
x = 1*3;
x=????
jo, neco jineho je milej zlatej toto:
for($i = 0; $i < 10; $i++) {
echo "<script>";
echo "x$i = window.open('nejake_parametry');";
echo "</script>";
}
.......... "x$i ........ cili vznikne (x0 = wi...;)
Toto téma je uzamčeno. Odpověď nelze zaslat.