Autor Zpráva
Orel
Profil *
Dobrý den. Může mi prosím někdo poradit, jak můžu načíst obsah z iframe s nějakým pevně daným ID do proměnné v JavaScriptu? Děkuji pěkně za pomoc.
Keeehi
Profil
Orel:
První podmínka je, že jesou obě stránky na jedné a té samé doméně. Je tato podmínka splněna?
Orel
Profil *
Keeehi:
Ano, je splněna.
Radek9
Profil
Orel:
V tom případě nějakým způsobem vybereš ten iframe (document.getElementById, document.querySelector apod.) a potom použiješ jeho vlastnost contentDocument:

var iframe = document.getElementById('myFrame')
alert(iframe.contentDocument.documentElement.outerHTML)
Orel
Profil *
Radek9:
Děkuji a nějaký příklad co by fungoval?
Radek9
Profil
Orel:
Pravděpodobně to budeš muset navěsit na onload nebo podobný event. Tak, jak jsem to napsal já, by to fungovalo v případě, že už je obsah rámu načtený.
Keeehi
Profil
Živá ukázka
Orel
Profil *
Keeehi:
Dostanu chybu:
Uncaught DOMException: Failed to read the 'contentDocument' property from 'HTMLIFrameElement': Blocked a frame with origin "null" from accessing a cross-origin frame.
Keeehi
Profil
Orel:
No, tak evidentně podmínka ve [#2] splněná není. Toto je chyba, která vzniká, právě když ty stránky nejsou na stejné doméně.

Jelikož je v té chybě origin "null", tak si tipnu, že to zkoušíš u sebe na disku. Lokální soubory bere chrome jako rozdílné domény. Takže to nahraj na server, nebo použij na prohlížení stránek z disku jiný prohlížeč.

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:

Prosím používejte diakritiku a interpunkci.

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