0

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

4

2 回答 2

1

您可以通过属性访问<iframe>的内容。contentDocument

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

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

这是一个CORS考虑因素。

更新:

要绕过 CORS 限制,您必须为属于 的 URL 编写一个服务器端代理src<iframe>这可能非常简单)。

如果我要在 ASP.Net 中做这样的事情(例如),我会编写一个 Web 服务:

  1. 将实际 URL 作为String参数。
  2. 使用HTTPWebRequest对象(或类似对象)获取 URL 内容。
  3. 将其返回给浏览器。

然后您可以将您的设置<iframe> src为“ http://mysite.com/getURLService?url=www.lalala.com”并获取内容,因为内容现在由“http://mysite.com”提供。

于 2013-01-16T17:50:19.510 回答
0

你用.contents()

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

于 2013-01-16T17:40:51.227 回答