从第二个iframe获取内容



目前,我可以使用$('iframe').contents()在非我的网页上检索第一个iframe的内容

由此,我可以通过执行$('iframe').contents().find('body')来获得body标记。结果是预期的

然而,我正在尝试获取第二个iframe的body标签。通过执行`$('iframe'(.eq(1(,我可以获得第二个iframe,但$('iframe'(.eq(1。

如何获取第二个iframe的内容?

很多Fiddle之类的可能不是一个好的测试场所。CORS存在并发症。下面是一个有效的例子:

https://jsfiddle.net/Twisty/037yueqj/9/

HTML

<iframe id="frame-1"></iframe>
<iframe id="frame-2"></iframe>

JavaScript

$(function() {
var f1 = $("#frame-1"),
f2 = $("#frame-2"),
frames = $("iframe");
f1.contents().find("body").html("<strong>Frame 1</strong>");
f2.contents().find("body").html("<strong>Frame 2</strong>");
console.log(frames.eq(0).contents().find("body").text());
console.log(frames.eq(1).contents().find("body").text());
});

如果你给它们唯一的ID或类,你就可以调用合适的选择器。您可以调用更宽的选择器并使用.eq()或使用.each()进行迭代。

必须在chrome中使用--disable web安全来从另一个url 访问iframe中的内容

最新更新