Autor Zpráva
Peta8
Profil
Ahoj, mám okno a na něm odkaz. Když na daný odkaz kliknu, otevře se mi nové okno s definovanými rozměry. V malém okně je odkaz a když na něj kliknu, chci, aby se mi otevřel v tom rodičovském okně. Jde to nějak udělat, prosím?

parent.location.href = 'stranka.html'; mi nefunguje, target="_parent" taky ne.

Díky
Bubák
Profil
www.jakpsatweb.cz/javascript/objekt-window.html
"window.opener vrací odkaz (ukazatel) na okno, které jej otevřelo"
Peta8
Profil
Díky,

ale přeci jen, nebyl by, prosím, nějaký podrobnější návod. Na mě se musí s JS pomalu a polehoučku.
alda
Profil
<a href="index.php" onclick="window.open('index.php', 'nove', 'width=800,height=600,scrollbars=yes'); return false">Ahoj</a>


Zkus toto stačí hledat....!!
Peta8
Profil
alda:
Já teda JS neumím, ale tenhle odkaz otevře nové okno, ne?

Já potřebuji, aby se odkaz v novém okně otevřel v okně rodičovském.
_es
Profil
Peta8:
Já potřebuji, aby se odkaz v novém okně otevřel v okně rodičovském.

Ak som správne pochopil, čo chceš, tak možno bude fungovať toto:
V "rodičovskom " okne daj:
<SCRIPT>window.name = "rodic";</SCRIPT>
A v tom vyskakovacom:
<a href="odkaz" target=rodic>Text odkazu</a>
Chamurappi
Profil
Reaguji na Petu8:
A nebo dej k odkazům onclick="if(window.opener) { window.opener.location.href = this.href; return false; }".
_es
Profil
Chamurappi:
Tvoja rada má menší nedostatok.
Ak je odkaz na vyskakovacie okno otvorený na niektorých prehliadačoch cez prostredné tlačítko myši, tak u nich nefunguje window.opener.
Ja si niekedy tie vyskakovacie okná tak otváram, lebo ich nemám rád.
Bubák
Profil
V takovém případě by pomohlo Chamurappiho kód zkombinovat s tímto:
<a href="stranka.html" onclick="return !window.open(this.href);">

http://www.jakpsatweb.cz/javascript/window.open.html#blokovani
Podstatný fígl je v tom, že když na to někdo klikne a okno se zablokuje, tak metoda window.open frátí false. Ten vykřičník to zneguje a je z toho true -- takže odkaz normálně proklikne.
_es
Profil
Bubák:
Neviem, či som to to správne vyjadril.
Ak je v tom rodičovskom okne odkaz otvorený normálnym kliknutím, tak sa otvorí to vyskakovacie okno a z neho je možný prístup k tomu rodičovskému oknu cez window.opener.
No ak sa odkaz otvorí prostredným tlačítkom myši, tak sa miesto vyskakovacieho okna vytvorí normálne, no vtedy v niektorých prehliadačoch window.opener nefunguje.
Bubák
Profil
_es:
no vtedy v niektorých prehliadačoch window.opener nefunguje
Takže vytvoření nového okna selže a měl by (nemám vyzkoušené) prokliknout normální odkaz.
_es
Profil
Bubák:
Takže vytvoření nového okna selže
Nejde o proces vytvorenia okna, ale o problém, keď je už vytvorené.
Ak je otvorené ako vyskakovacie, cez window.open, tak v ňom window.opener funguje.
Ak sa otvorí tým prostredným tlačítkom, ako normálny odkaz, tak vtedy v ňom window.opener nemusí fungovať.
Chamurappi
Profil
Reaguji na Bubáka:
kód zkombinovat s tímto
To se chová přesně stejně jako target="_blank".
Kolega _es mluví o situaci, kdy uživatel proklikne odkaz prostředním tlačítkem. V takovém případě se (bohužel) nevyvolává událost onclick, jen se otevře adresa z hrefu do nového tabu a Mozilla v tom novém tabu nenastavuje window.opener — což je docela smutné. Už před rokem jsem dlouho hledal, jak tuhle nepříjemnost elegantně obejít, protože jsem chtěl ve skriptech zdejší diskuse nějak užitečně provázat všechna otevřená okna. Stále mě nic hezkého nenapadlo…
_es
Profil
Chamurappi:
Stále mě nic hezkého nenapadlo
A to riešenie s tým pomenovaním rodičovského okna nevyhovuje?
Chamurappi
Profil
Reaguji na _es:
Petovi8 asi vyhovovat bude.
Mně se moc nelíbí, protože bych chtěl mít propojené větší množství oken. Nechci měnit jejich adresu, chtěl bych přenášet informace — aby třeba skript v okně s tímto vláknem věděl, jaká čísla a jaké titulky mají ostatní otevřená vlákna.
_es
Profil
Chamurappi:
Cez window.open sa dá získať aj len odkaz na to okno bez jeho zmeny.
No nepríjemné je, že ak neexituje okno s takým názvom, tak sa vytvorí okno nové.
Bez toho otvárania nového okna by to bolo na ten účel využiteľné.
Možno by sa tá nepríjemnosť dala vyriešiť nejakou postupnosťou názvov, že by okná samé seba premenovávali, aby to nenastávalo, no či sa to vyplatí, možno sa to ani nedá bez toho že by hrozilo to otváranie okna.
Peta8
Profil
Děkuji všem. Použil jsem _esovu metodu.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: