Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Načtení iFrame

Ahoj, proč mi tohle nefunguje?

<iframe id="mujframe" src="http://foo.bar"></iframe>

<script type="text/javascript">
   var obsah = document.getElementById("mujframe");
   console.log(obsah);
</script>
Předmět Autor Datum
Co přesně znamená "nefunguje"?
Wikan 05.10.2017 22:21
Wikan
Když to dám vypsat třeba takto alert(obsah); tak dostanu [object HTMLIFrameElement]
Veronika20 05.10.2017 22:36
Veronika20
To je spravne, nie? Do premennej obsah si si dal objekt iframe.
MM.. 05.10.2017 22:51
MM..
Aha, a jak z toho objektu získám obsah toho iframe?
Veronika20 05.10.2017 22:58
Veronika20
Neviem co volas slovom "obsah", ale mozes s tym robit vsetko co je tu https://developer.mozilla.org/…
MM.. 05.10.2017 23:07
MM..
No chtěla bych vypsat na obrazovku to co je uvnitř toho iframe, to co se do něj načetlo.
Veronika20 05.10.2017 23:11
Veronika20
Uvnitr iframe je webstranka. Jak sa da vypsat webstranka?
MM.. 05.10.2017 23:12
MM..
Nebudu načítat webstránku, na výstupu je jen pár znaků. Teď jsem navíc dostala tuto chybu. Uncaught…
Veronika20 05.10.2017 23:21
Veronika20
Ked tam nedas platny iframe s html sekciou, tak mas smolu. A ani neviem co tam vobec presne robis a…
MM.. 05.10.2017 23:23
MM..
Pokud ale mam jen iframe bez JS tak se obsah načte normálně tak proč už to nemůžu načíst do JS? Obsa…
Veronika20 05.10.2017 23:26
Veronika20
http://foo.bar vrací jen třeba tohle 456;874;5896;9878;555;88887;
Veronika20 05.10.2017 23:28
Veronika20
Ja ti rozumiem ale tvoj koncept je vadny. (a pisem ze ak tam mas doslovne foo.bar, tak to nevracia n…
MM.. 05.10.2017 23:30
MM..
A v čem je tedy problém v tom http://foo.bar nebo v tom co to vrací nebo v něčem jiném?
Veronika20 05.10.2017 23:38
Veronika20
namiesto foo.bar si musis napisat URL na svoj server. OMG. A dalsi problem je ze ten server vracia n…
MM.. 05.10.2017 23:39
MM..
Můžu volat co chci jelikož se jedná pouze o domácí síť, a v souboru hosts si ji nasměruji na potřebn…
Veronika20 05.10.2017 23:44
Veronika20
No tak si tam namiesto toho foo.bar napis URL (IP) na ten server. Az potom testuj.
MM.. 05.10.2017 23:48
MM..
Je to stejný i pokud volám přímo IP adresu. Celý to mám teď takto, už fakt nevím no :-/ <html> <hea…
Veronika20 05.10.2017 23:54
Veronika20
A vypise to teda co v tych alertoch?
MM.. 06.10.2017 00:21
MM..
Vypíše se pouze první alert <iframe id="frejm" src="http://192.168.0.200"></iframe> a poté dostanu…
Veronika20 06.10.2017 00:31
Veronika20
Proste sa to tak nerobi. https://stackoverflow.com/questions/6357041/get-iframe-innerhtml-using-java…
MM.. 06.10.2017 00:44
MM..
Jasně, chápu to, ale opravdu nevím proč když z jiné domény to načítá html a to se úspěšně i načte, t…
Veronika20 06.10.2017 00:58
Veronika20
Lebo tak to je kvoli bezpecnosti. Navyse ten script musi cakat kym sa nacita iframe, on bezi skor j…
MM.. 06.10.2017 01:03
MM..
Tak budu muset zůstat u XMLHttpRequestu a IE11, tam to funguje bez problémů.
Veronika20 06.10.2017 01:10
Veronika20
Nemusis zustavat u dementych klientskych scriptov a riesit 350 verzii prehliadacov z ktorych 250 nef…
MM.. 06.10.2017 01:16
MM..
Preco si nenainstalis nejaky php server ale bastlis tam nejake XSS? PHP: https://stackoverflow.com/…
MM.. 06.10.2017 01:06
MM..
PHP server je řešení, ale je nesmysl aby běžel celé dny nějaký počítač jen pro to abych získala pár…
Veronika20 06.10.2017 01:14
Veronika20
A ten HTML s javascriptom bude kde? Ne na beziacom pocitaci? Ak to ma byt html subor na lokali, tak…
MM.. 06.10.2017 01:17
MM..
A ten HTML s javascriptom bude kde? Ne na beziacom pocitaci? Na telefonu a tabletu v prohlížeči.
Veronika20 06.10.2017 01:29
Veronika20
HTML bude ulozeny na telefonu??? Potom rob app, a ne HTML. Znasilnujes veci na nieco na co nie su ur… poslední
MM.. 06.10.2017 01:39
MM..

Neviem co volas slovom "obsah", ale mozes s tym robit vsetko co je tu
https://developer.mozilla.org/en-US/docs/Web/API/HTMLIFrameElement
a tu ptz to je parent trieda https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement

P.S. zrejme chces toto ale ty vies co chces, moznosti je asi 500 https://developer.mozilla.org/en-US/docs/Web/API/HTMLIFrameElement/contentDocument
t.j. obsah.contentDocument a potom s tym sa da robit toto https://developer.mozilla.org/en-US/docs/Web/API/Document

Nebudu načítat webstránku, na výstupu je jen pár znaků.
Teď jsem navíc dostala tuto chybu.

Uncaught DOMException: Failed to read the 'contentDocument' property from 'HTMLIFrameElement': Blocked a frame with origin "null" from accessing a cross-origin frame.

Můžu volat co chci jelikož se jedná pouze o domácí síť, a v souboru hosts si ji nasměruji na potřebnou IP adresu nebo můžu volat přímo IP adresu pokud to pomůže. To že to nevrací validní html kód nijak neovlivním, vrací to pouze čísla bez jediného html tágu.

Je to stejný i pokud volám přímo IP adresu.
Celý to mám teď takto, už fakt nevím no :-/

<html>
<head>
</head>
<body>
<iframe id="frejm" src="http://192.168.0.200"></iframe>
<script type="text/javascript">
var aaa = document.getElementById("frejm");
alert(aaa.outerHTML);
alert(aaa.contentDocument);
alert(aaa.contentDocument);
alert(aaa.contentDocument.documentElement.outerHTML)
</script>
</body>
</html>

Vypíše se pouze první alert

<iframe id="frejm" src="http://192.168.0.200"></iframe>

a poté dostanu chybu

Uncaught DOMException: Failed to read the 'contentDocument' property from 'HTMLIFrameElement': Blocked a frame with origin "null" from accessing a cross-origin frame.

A ten HTML s javascriptom bude kde? Ne na beziacom pocitaci?
Ak to ma byt html subor na lokali, tak to si rovno mozes napisat aplikaciu v C# (C++, delphi, cokolvek) apod, a neznasilnovat webove prehliadace.

P.S. a da sa trebars aj upravit to co bezi na tej 192.168.0.200, ak to je nejake raspberry apod.

Zpět do poradny Odpovědět na původní otázku Nahoru