Autor | Zpráva | ||
---|---|---|---|
llook Profil |
#1 · Zasláno: 6. 2. 2006, 18:30:47 · Upravil/a: llook
Lze se nějak dostat k funkcím, které byli deklarovány v jiném rámu? K DOMu toho rámu se dostanu, ale potřeboval bych i tamní funkce.
Představoval jsem si to asi takhle: vkladana-stranka.html
hlavni-stranka.html <iframe Jenže to nejde (this.ahoj is not a function). Jestli to teda nějak jde, jak? |
||
peta Profil * |
#2 · Zasláno: 6. 2. 2006, 19:19:25
window.jmenoramu.document....
jakpsatweb - javascript - objekt window - 20 radku zespodu |
||
llook Profil |
#3 · Zasláno: 6. 2. 2006, 19:30:14
To má ten samý výsledek. Přes window.jmenoramu.document se dostanu k dokumentu, ale ne k javascriptovým funkcím deklarovaným v tom dokumentu.
Napadá mě, že to možná bude z bezpečnostních důvodů a já to budu muset udělat celé nějak jinak. |
||
habendorf Profil |
#4 · Zasláno: 6. 2. 2006, 20:32:00
Napadá mě, že to možná bude z bezpečnostních důvodů
Určitě, přesně tak. |
||
habendorf Profil |
#5 · Zasláno: 6. 2. 2006, 20:33:12
Ještě abych to upřesnil - v IE se přes window.jmenoramu.document.scripts se dostaneš až na scripty, ale tím to končí.
|
||
llook Profil |
#6 · Zasláno: 7. 2. 2006, 14:24:25
Divné opatření. Když můžu k DOMu, můžu i přidávat skripty, které pak k těm funkcím můžou:
document.getElementById("testframe").onload = function() {Ale sám na ně nemůžu... Ještě pouvažuju, jestli využiju tento workaround a nakonec to udělám nějak jinak. |
||
Fred Profil |
#7 · Zasláno: 7. 2. 2006, 16:29:25
A ten script ve vkládané stránce je externí nebo interní? Pokud by byl externí tak možná něco takového http://www.dhtmlcentral.com/tutorials/tutorials.asp?id=11
|
||
llook Profil |
#8 · Zasláno: 7. 2. 2006, 17:00:34
Interní. Konkrétně šlo o to, že jsem chtěl s vloženou stránkou pracovat pomocí funkcí knihovny Prototype. Třeba takhle:
frame.onload = function() {Nakonec to vyřeším tak, že místo Prototype budu používat knihovny, které dokáží pracovat i s jiným dokumentem než window.document, třeba tenhle jednoduchý příklad bych udělal s cssQuery: frame.onload = function() { |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0