Autor Zpráva
bestix
Profil *
Ahoj, potreboval bych nacist atribut href z prvniho odkazu v iframe na strance (je v DOM ).

Zkousel jsem to takto ale nefunguje mi to korektne, netusite nekdo prosim, kde muze byt chyba?
<script type="text/javascript">
$(document).ready(function() {
var item1 = $('a')[0];
var oBody = $('iframe').find( item1 ).text();
console.log(oBody);
});

</script>

Dekuji za jakoukoliv radu.
Chamurappi
Profil
Reaguji na bestixe:
V elementu <iframe> žádné další elementy nebývají. Z hlediska DOMu není vnitřní stránka uvnitř, ale spíš úplně mimo.
Musíš se nějak dostat k window vevnitř rámu, třeba přes frames.jméno, pak teprve můžeš volat funkce uvnitř, nebo pracovat s tamními objekty. Pokud v té vnitřní stránce je jQuery, lze ho volat jako frames.jméno.$, nicméně můžeš narazit na zvláštní situace, protože každá stránka má vlastní kontext a instance dvou různých jQuery (i když to budou stejné verze) spolu nemusí dobře vycházet.

Mimochodem, $(document).ready se volá v okamžiku načtení samotné stránky, na obsah stránky v elementu <iframe> se pochopitelně nečeká, protože to je úplně jiná stránka.

O co se vlastně pokoušíš? Co je cílem? Kdybys snad chtěl skriptem tahat data ze stránky na jiné doméně, tak to nejde.
bestix
Profil *
Jedna se o to, ze bych rad logoval URL zobrazovanych reklam z skliku abych zjistil pozdeji relevanci toho, co se na webu zobrazuje reklamy. Ale kdyz jsem se kouknul v inspektoru do kodu stranky, tak v tom iframe ten odkaz dosazitelny je, takze tim padem je nacten v DOM a melo by byt tedy mozno ho ziskat, nebo se pletu?
Chamurappi
Profil
Reaguji na bestixe:
nebo se pletu?
Ano. Inspektor ti lže, struktura DOMu nevypadá tak, že by vnitřní dokument byl opravdu uvnitř elementu <iframe>.

bych rad logoval URL zobrazovanych reklam z skliku
Je-li stránka načtená do rámu na jiné doméně než její rodič, nemáš žádnou šanci se k informacím z ní dostat.

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:

0