如何克隆实际的iFrame内容,而不仅仅是iFrame标签内容?

时间:2012-01-04 19:59:09

标签: javascript jquery html iframe

我有一个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扩展程序。

4 个答案:

答案 0 :(得分:2)

如果来自其他域的Iframe,则由于同源策略而无法访问其内容。

答案 1 :(得分:1)

我不认为这是可能的,你的代码只是重复iframe元素,它再次加载外部页面,它处于“默认”状态。但您无法访问iframe的内容。

答案 2 :(得分:1)

如果iframe的网址与您网域的网址不一致,则无法执行此操作。

如果它们是相同的,您还需要克隆iframe的文档元素并将其附加到克隆的iframe。

答案 3 :(得分:0)

虽然有一个解决方法。由于同源策略,您需要使用curl(如果您使用的是php)来“伪造”内容来自同一个域。之后,您可以通过使用获取iframe的内容。

  

$(“#frameid”)。contents()。find(“body *”);