我有一个iFrame并且已经研究了如何使用jQuery克隆它:
<HTML>
<HEAD>
<SCRIPT type="text/javascript" src="jquery.js"></SCRIPT>
<SCRIPT>
function clone_test() {
$('#FRAME1').clone().appendTo('#divtag');
}
</SCRIPT>
</HEAD>
<DIV id="divtag">
<iframe id="FRAME1" name="FRAME1" src="http://currencies.typeit.org/" width="360" height="360" frameborder="0"></iframe>
</DIV>
<a href="javascript:clone_test()" target="FRAME1">- CLONE THE iFRAME -</a>
</HTML>
但这不是我想要的!我的问题是,在货币框中输入的任何内容都不包含在克隆过程中。似乎只克隆了HTML,而不是iFrame的实际内容。有没有可能克隆iFrame,包括在货币框中输入的任何内容?这只适用于Chrome浏览器,因为我正在制作Chrome扩展程序。
答案 0 :(得分:2)
如果来自其他域的Iframe,则由于同源策略而无法访问其内容。
答案 1 :(得分:1)
我不认为这是可能的,你的代码只是重复iframe元素,它再次加载外部页面,它处于“默认”状态。但您无法访问iframe的内容。
答案 2 :(得分:1)
如果iframe的网址与您网域的网址不一致,则无法执行此操作。
如果它们是相同的,您还需要克隆iframe的文档元素并将其附加到克隆的iframe。
答案 3 :(得分:0)
虽然有一个解决方法。由于同源策略,您需要使用curl(如果您使用的是php)来“伪造”内容来自同一个域。之后,您可以通过使用获取iframe的内容。
$(“#frameid”)。contents()。find(“body *”);