将信息从iframe复制到文档

时间:2012-01-10 00:16:21

标签: javascript jquery dom

我正在尝试将信息从iframe复制到我的文档中,我写了这个

<iframe class="Number" frameborder="0" allowtransparency="true">

     <html>
         <body id="wow">002-7375347
              </body>
    </html>

</iframe>


html = $("iframe").find("body").html();
document.write(html);

并且它可以帮助我吗? 谢谢。

1 个答案:

答案 0 :(得分:1)

如果iframe和运行javascript的文档具有相同的origin(相同的域,端口,协议,其他一些内容),则只能执行此操作。这是一个名为same origin policy的安全功能,由所有主流浏览器实现。你无法真正解决它。

此功能的基本原理是防止以下(大大简化)方案。

  1. 你去了不受信任的网站blahblah.com
  2. 该网站会创建一个不可见的iframe并将其指向您的亚马逊主页。
  3. 您使用浏览器的凭据登录,blahblah.com继续窃取您的所有个人信息。
  4. 实施的政策大致概括为

      

    来自一个来源的请求可以执行来自另一个来源的代码并显示它,但不能以编程方式操作或检查其内容。

    所以你的代码可以

    • 打开iframe但无法检查其内容
    • 在您的网页上包含谷歌图片,但无法读取像素或将图像发送回服务器
    • 从Google.com cdn执行脚本,但无法查看代码正在执行的任何操作,也无法将代码本身作为字符串获取。

    利用这与正确编程有所不同的事实是网络黑客所做的很大一部分。