Snažím sa upravovať obsah z iframe pomocou jquery, ale nič sa naozaj nezdá. Môže niekto vysvetliť, prečo prosím?
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
<iframe src="//api.jquery.com/" width="80%" height="600" id="frameDemo"></iframe>
<script>
$( "#frameDemo" ).contents().find( ".page-title" ).text("My html");
</script>
odpovede:
1 pre odpoveď č. 1Nemôžete takýmto spôsobom pristupovať alebo manipulovať s obsahom z inej domény. To je blokované niečím, čo sa nazýva politika rovnakého pôvodu.
ako MDN stránku na túto tému konštatuje, že politika rovnakého pôvodu obmedzuje, ako adokument alebo skript načítaný z jedného pôvodu môže interagovať s zdrojom iného pôvodu. Je to kritický bezpečnostný mechanizmus na izolovanie potenciálne škodlivých skriptov.
Je však možné manipulovať s HTML iframe, ktorý je na rovnakej doméne. Robili by ste takto:
$("#frameid").contents().find("div").html("My html");
Pozri tu: Zmeniť HTML iFrame s jQuery?