Autor Zpráva
Alastor_Kopal
Profil
Může javascript komunikovat s rámy ? Například ze stránky do iframe může poslat informace ?
Yur4Y
Profil
Áno, ide to pomocou
objektiframu.contentWindow.document...
Ale tento rám musí byť na tej istej doméne.
Chamurappi
Profil
Reaguji na Alastora_Kopala:
Ano.

Výsledky hledání „javascript rámy“ v Googlu:
 1 • JavaScript - vládání rámců | Interval.cz
 2 • Kurz HTML - jak zabránit zobrazování stránek v cizích rámcích ...
 3 • Javascript napříč okny prohlížeče
 4 • Číslo 1/21 - Sova v síti
 6 • obrázky-odkaz do jiného rámu - CSS - Java Script Library
 7 • Objekt window - Javascript
 8 • Fórum: Jak vybrat z window.frames pouze normální rámy (vynechat ...
Alastor_Kopal
Profil
Dejme tomu že mám index.html a frame.html

abych spustil po (stisknutí klávesy) funkci ted() (v iframe.html) bude kód vypadat takhle ?

frame.contentWindow.ted()


to je blbý dá se tam zkombinovat to ted()? cítím že to ted() tam moc nesedi
peta
Profil
Alastor_Kopal:
"abych spustil po (stisknutí klávesy)"
jpw - udalosti onkey...
frame.contentWindow.onkeydown=ted
Otazkou je, ceho chces presne docilit. Pokud sis neco precetl v odkazech od Ch, pak bys zjistil, ze lze menit stranku ze stejneho serveru a ne z jineho (treba seznam.cz). Al i to lze omezenym zpusobem docilit treba pres php.
Bubák
Profil
peta:
lze menit stranku ze stejneho serveru
Pleteš si pojmy server a doména.
Alastor_Kopal
Profil
<body onkeydown="prechod(event);">
<script>
function prechod(event)
{
  switch(event.keyCode) {
// nějaké další nadefinované klávesy
    case 13: ram.contentWindow.start; break; // při enteru spustit funkci start
  }
}
</script>


nefunguje to - to onkeydown jsem odělal protože to ověřuju v podmínce

je to na jednom serveru
Alastor_Kopal
Profil
nebo to dát jako proměnnou ?
<body onkeydown="prechod(event);">
<script>
var start = start();
function prechod(event)
{
  switch(event.keyCode) {
// nějaké další nadefinované klávesy
    case 13: ram.contentWindow.start; break; // při enteru spustit funkci start
  }
}
</script>
peta
Profil
Alastor_Kopal:
s key je to komplikovanejsi, ja tam zadnou zavorku nemam.
http://peter-mlich.wz.cz/web/js/prx/index.htm
Tady jsou nektere zpusoby, viz "kurzor", s mysi je to podobne.
Alastor_Kopal
Profil
v těch scriptech jsem tuto funkci neviděl. Jiná syntaxe než [#8] mě nenapadá
peta
Profil
Alastor_Kopal:
Kdyz nevis, google. Zaklad. V tech odkazech je udalost odchytavani mysi, kde to funguje podobne a zjistil bys studiem kodu, kdybys chtel, jakoze nemas zajem, ze to, cos napsal se pise trosku jinak.
Fakt, ze klavesnice je spis ve hre "Sokoban".
Alastor_Kopal
Profil
peta:
Kdyz nevis, google. Zaklad.
Ano google využívám a zkoušel jsem hledat. Ovšem nevěděl jsem jakou frázi tam zadat a na dotaz "frame.contentWindow" toho moc nevyhledalo.

V tech odkazech je udalost odchytavani mysi, kde to funguje podobne a zjistil bys studiem kodu, kdybys chtel, jakoze nemas zajem, ze to, cos napsal se pise trosku jinak.
Tenhle topic jsem založil abych se dozvěděl jak spustit funkci z hlávní stánky v iframe. Prominte muj amaterismus ale myslím že v těch příkladech není nic s rámy.
_es
Profil
Alastor_Kopal:
jak spustit funkci z hlávní stánky v iframe
Myslíš zo skriptu nahratého do iframe spustiť funkciu defnovanú v skripte hlavnej stránky? Tak potom
window.parent.názovFunkcie();
alebo:
window.top.názovFunkcie();

Ak to myslíš opačne, zo skriptu, nahratého do hlavnej stránky, spustiť funkciu definovanú v iframe, tak:
window.frames[čísloRámu].názovFunkcie();
alebo:
window.frames["názov"].názovFunkcie();
kde názov je atribút name iframu a číslo je poradové číslo rámu alebo iframe (najskôr 0).
Pôjde to len vtedy, ak sú hlavná stránka a iframe z rovnakého servera.
Alastor_Kopal
Profil
Děkuji _es - funguje to. a i všem ostatním kteří mi trpělivě radili

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

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

0