Autor Zpráva
Question
Profil *
Zdravím,
skúšam dáké finty s javascriptom (so skriptami som celkovo začiatočník) a natrafil som na jeden problém (dúfam, že ho opíšem dosť názorne). Na hlavnej stránke 'index.html' mám skript pre otvorenie histórie aktualizácií do nového okna, asi takto (vynechávam nepodstatnosti):

<a href="javascript:news()">história aktualizácií</a>


a v externom súbore je funkcia:

function news()

{
window.open('news.htm','novinky','width=600,height=400,toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,copyhistory=no,resizable=no');
}


No a problém... V tom súbore 'news.htm' mám odkazy a chcem aby tie odkazy boli smerované do okna, kde je 'index.html', čiže nie aby sa zobrazili do nového okna.

Začína to asi takto, napr.:

function otvorokno(subor){

window.open(subor);
}

<a href="grc.htm" onclick="otvorokno('<i>adresar/subor.htm</i>'); return false">davaj grc</a>


Problém je teda v tom, že takýto zápis otvorí <i>súbor.htm</i> v novom okne (lebo vo 'window.open(subor)' nie je definovaný target). Lenže okno, v ktorom je otvorený 'index.html' nemá meno (target) takže odkaz neviem nasmerovať do tohto okna.

Dá sa to dáko spraviť (aby odkazy z 'news.htm' smerovali do okna s 'index.html', resp. ako nastaviť meno okno v ktorom je 'index.html')?

Riešením by bolo okno s 'index.html' otvoriť z iného okna, kde by sa definovalo jeho meno, ale to by som musel otvárať nové okno a celkovo to takto nechcem spraviť :-) ...

Budem rád ak mi bude vedieť dakto pomôcť. Díky.

(PS: Príklad, ktorý tu popisujem je na www.biowebgym.szm.sk, kliknite na odkaz '(história aktualizácii)' - otvorí sa nové okno so súborom 'news.htm', tam sú tie odkazy, ktoré chcem nasmerovať do okna s 'index.html'. Stránku som ešte neaktualizoval, takže zdrojový kód môže vyzerať trošku inak ako tu popisujem (je to zatiaľ len pracovná verzia).)

(PS 2: Www.jakpsatweb.cz je super!!! :-) )
Leo
Profil
Muzete vyuzit toho, ze stejne je to zavisle na JavaScriptu (to nove okno), takze v tom puvodnim nastavite oknu jmeno:

window.name = "puvodni";

a v HTML v novem okne u odkazu napisete target="puvodni"

Pokud byste nechtel pouzivat atribut target (v XHTML uz neni), tak musite na odkazech odchytit udalost onclick a zmenit opener.location.href na novou adresu. Jinak doporucuju misto

<a href="javascript:news()">

spis toto:

<a href="news.htm" onclick="return news()"...

a v te fci news vracite

return !window.open('news.htm','novinky',...

Jde o to, ze to pak bude dostupne i s vypnutym JS, i kdyz ne v novem okne a zaroven osetrite moznost, ze se sice JS pokusi nove okno otevrit, ale z vyssi moci mu to neprojde (blokovani novych oken). Leo

Leo
Question
Profil *
díki moc Leo, zabralo to...
Honza Hučín
Profil
Jako prevence proti spamu bylo téma zamčeno. Poslední relevantní příspěvek byl před více než rokem.
Toto téma je uzamčeno. Odpověď nelze zaslat.