加载后获取iframe的内容

时间:2013-01-16 17:38:46

标签: javascript jquery

我想实现这个目标。我想通过点击一个按钮获取在一个输入中输入的域名并将其加载到iframe中。我遇到的麻烦是在我加载iframe中的特定网站后如何在iframe中获取已加载网站的DOM?我需要通过点击它来保存iframe中新加载的网站所选元素的确切路径。任何帮助将非常感激。谢谢。

2 个答案:

答案 0 :(得分:1)

您可以通过<iframe>媒体资源访问contentDocument的内容。

var iFrameContent = $('myIFrame')[0].contentDocument;
$(iFrameContent).find('.mySelector').text();

我还应该指出,只有当<iframe>的{​​{1}}来自与您的脚本相同的域时,才能访问src的内容。如果<iframe>的{​​{1}}来自任何其他域,则浏览器将拒绝访问src内容。

这是CORS考虑​​因素。

<强>更新

要解决CORS限制,您必须为<iframe>的{​​{1}}的URL编写服务器端代理(这可能非常简单)。

如果我在ASP.Net中做这样的事情(作为例子),我会写一个网络服务:

  1. 将实际网址视为<iframe>参数。
  2. 使用src对象(或类似对象)获取URL内容。
  3. 将其返回浏览器。
  4. 然后,您可以将<iframe> String设置为“HTTPWebRequest”并获取内容,因为内容现在由“http://mysite.com”发送。

答案 1 :(得分:0)

您使用.contents()

like $("iframe").contents().find();