Autor | Zpráva | ||
---|---|---|---|
peta Profil * |
#1 · Zasláno: 17. 1. 2006, 20:16:45
jak ziskat promennou v JS v iframu?
mam stranku, kde mam vlozeny iframe, treba aaa.htm a v tom iframe je definovan tag script, na ktery nemuzu sahat a je v nem pole hodnot, ktere bych rad nekam pretahl do hlavniho dokumentu. <iframe id="aaa1" name="aaa" src="aaa.htm" style="visibility:hidden;height:0;width:0"/> <script> document.write(window.aaa); // [object Window] </script> aaa.htm <script> pole=["aaa","bbb"] </script> |
||
peta Profil * |
#2 · Zasláno: 17. 1. 2006, 20:57:58
document.write(window.aaa.document)
ale na .getElementsByTagName('script').item(8) mne to uz nepustilo, neco, ze pristup odepren... |
||
peta Profil * |
#3 · Zasláno: 17. 1. 2006, 21:15:47
a jeste dotaz, existuje neco jako PHP print_r nebo fprint_r? co vypise pole objektu...
|
||
Dero Profil |
#4 · Zasláno: 17. 1. 2006, 21:20:53
window.aaa.contentWindow.document.getElementsByTagName('SCRIPT').item ... ?
|
||
peta Profil * |
#5 · Zasláno: 17. 1. 2006, 21:29:31
"window.aaa.contentWindow.document.getElementsByTagName('SCRIPT')"
Chyba: uncaught exception: OdepYení pYístupu pro získání vlastnosti Window.contentWindow Dero neco dalsiho? |
||
Dero Profil |
#6 · Zasláno: 17. 1. 2006, 21:31:43
Kolekce frames? To je starší metoda, ale bojím se, že to dopadne úplně stejně.
window.frames[0].contentWindow... ? |
||
Oswald Profil |
#7 · Zasláno: 17. 1. 2006, 21:34:20
peta Pokud obsah iframu není ze stejné domény jako stránka, tak to nepůjde.
|
||
peta Profil * |
#8 · Zasláno: 17. 1. 2006, 21:42:05
Oswald
Ok, ale kdyz se dostanu na document, dal by se obsah vytahnout snad do promenne, coz vlastne uz je v poli a z toho pole by to snad nejak melo jit, ne? Nechci se toho jen tak vzdat, na jedne nejmenovane webce maji JS se jmeny obrazku, ktere by jsem chtel pouzit pro generovani galerie. Takove hackovani javascriptem :) doslova ten script je tam takto: <script language="JavaScript" type="text/javascript"> <!-- var browser=null; if (document.all) browser = 'ie'; if (!document.all && document.getElementById) browser = 'nn6'; var obj; var obj2; var timerID var old var seznam_fotek=new Array(); var popis_fotek=new Array(); var blokovana=new Array(); var ktera=1; seznam_fotek[1]="culiena_15.jpg"; popis_fotek[1]="***Lucijena"; blokovana[1]=""; seznam_fotek[2]="culiena_12.jpg"; popis_fotek[2]=":-)"; blokovana[2]=""; seznam_fotek[3]="culiena_11.jpg"; popis_fotek[3]="jaß"; blokovana[3]=""; seznam_fotek[4]="culiena_16.jpg"; popis_fotek[4]=""; blokovana[4]=""; seznam_fotek[5]="culiena_17.jpg"; popis_fotek[5]=""; blokovana[5]=""; |
||
peta Profil * |
#9 · Zasláno: 17. 1. 2006, 21:45:11
a na element A se dostanu, i na body, to mi jak vysvetlis.
//x=window.xkoportret.contentWindow.document.getElementsByTagName('a') ; V nejhorsim jsem ochoten pristoupit na brutalni PHP script, kdyz uz vim, jak to replacuji a vlozim si to normalne do stranky do JS. Ale chtel jsem to udelat, pokud to pujde, jen v js. |
||
Dero Profil |
#10 · Zasláno: 17. 1. 2006, 21:45:57
Aha, já jsem z toho půvosdního dotazu vyrozuměl, že cílová stránka je na stejné doméně. Pokud není, tak to opravdu nejde.
|
||
peta Profil * |
#11 · Zasláno: 18. 1. 2006, 10:46:34
Dero
Sim te, nerikej mi, ze neco nejde. Ja uprednostnuji pravidlo, ze je vsechno mozne, jen na to treba cas. A na tom zakladam veskere teorie. Dostal jsem se na tagy SCRIPT a nevim, jak dal. Jak? Finta fn :) Po ranu to dobre mysli... d=window.aaa.document; d.open('text/html'); x=d.getElementsByTagName('SCRIPT'); document.write(x); d.close(); Dero A najednou to jde. Jak je to mozne? Ze by to vzdycky slo? :) |
||
peta Profil * |
#12 · Zasláno: 18. 1. 2006, 10:47:23
Oswald Totez co Dero, jak to, ze mi to najednou jde, ikdyz rikas, ze ne?
|
||
peta Profil * |
#13 · Zasláno: 18. 1. 2006, 11:55:20
V podstate by to mohlo byt delany jako bookmarky, mozna by to aj bylo lepsi.
Jenom potrebuji, abych nekde zobrazil seznam obrazku, kde nazvy jsou v jinem JS... Tohle zkudsim promyslet nez se trapit s tagy SCRIPT :) |
||
peta Profil * |
#14 · Zasláno: 18. 1. 2006, 13:28:53
uz mi to funguje jako bookmarklet. Upravil jsem script nejblize podobny "List of images"
http://www.bookmarklets.com/tools/data/index.phtml |
||
Fred Profil |
#15 · Zasláno: 18. 1. 2006, 16:06:18
Máš to někde online?
|
||
peta Profil * |
#16 · Zasláno: 18. 1. 2006, 17:16:19
Fred
Mam, ale nechci to zverejnovat, aby to nenahlasili programatorum daneho serveru a ti mi to nezatrhli :) V podstate pro reseni s bookmarky staci ten zmineny. Pro iframe se da napsat treba toto: <form name="f" action="#"> <table> <tr> <td>nick <input name="nick" type="text" value="" /></td> <td><input type="button" value="Nacti" onclick="nacti()" /></td> </tr> <tr> <td><input type="button" value="Ukaz foto" onclick="zobraz()" /></td> </tr> </table> </form> <iframe id="aaa1" name="aaa" src="http://diskuse.jakpsatweb.cz/" ></iframe> <script> function objGet(x) {var d=document;return (d.getElementById?d.getElementById(x):d.all?d.all[x]:d.layers?d.layers [x]:null);} t3="http://server.xx/"; function nacti() { var i; i=t3+document.f.nick.value; objGet("aaa1").src=i; } function zobraz() { d=window.aaa.document; d.open('text/html'); x=d.getElementsByTagName('SCRIPT'); document.write(x); d.close(); } </script> ... snad jsem na neco nezapomnel, je to jen vytazek z kodu. Navic ted resim jinej problem, potrebuji ID a to maji zasite na radku <a href=javascript:('neco','neco','idecko')> |
||
peta Profil * |
#17 · Zasláno: 18. 1. 2006, 17:21:12
konkretne k tomu jinemu problemu...
potrebuji najit v dokumentu "SPAN", ktery ma urcity "class", rekneme prvni. V tom spanu je "A" jako nektery z uzlu, tez staci prvni a v tom "A" je uz "href", ktery bych si rozparsoval a zpracoval... Jinak je ten bookmark v podstate stejny, jako ten zmineny. |
||
peta Profil * |
#18 · Zasláno: 18. 1. 2006, 18:47:05
Kdyby jste to nekdo nekddy potrebovali, tak ve FF funguje jen a pouze toto s item:
a=document.getElementsByTagName('SPAN'); for(i=0;i<a.length;i++) if(a.item(i).className=='aaaaaa') {b=a.item(i).childNodes;i=a.length;} Zkousel jsem to s normalnim polem a[i].className a psalo to chybu |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0