Viac na
jQuery/JavaScript: prístup k obsahu iframe
Chcel by som manipulovať s HTML vo vnútri iframe pomocou jQuery.
Myslel som si, že to dokážem tak, že nastavím kontext funkcie jQuery na dokument iframe, niečo ako:
$(function(){ //document ready
$('some selector', frames['nameOfMyIframe'].document).doStuff()
});
Zdá sa však, že to nefunguje. Trochu kontroly mi ukázalo, že premenné v frames['nameOfMyIframe']
sú nedefinované
, pokiaľ chvíľu nepočkám, kým sa načíta iframe. Keď sa však iframe načíta, premenné nie sú prístupné (dostávam chyby typu permission denied
).
Vie niekto o nejakom spôsobe, ako to vyriešiť?
768
3
Myslím, že to, čo robíte, podlieha politike rovnakého pôvodu. To by mal byť dôvod, prečo dostávate chyby typu odmietnutie povolenia.
Musíte pripojiť udalosť k obsluhe iframe's onload a vykonať v nej js, aby ste sa uistili, že iframe dokončil načítanie pred prístupom k nemu.
Vyššie uvedené vyrieši problém 'ešte nenačítaného', ale čo sa týka oprávnení, ak v iframe načítate stránku, ktorá je z inej domény, nebudete k nej môcť pristupovať kvôli bezpečnostným obmedzeniam.
Skúšali ste klasický spôsob, keď ste čakali na dokončenie načítania pomocou zabudovanej funkcie ready v jQuery?
K