-1

我想访问当前加载的 iframe 文档并将该文档链接到另一个 iframe,为此我尝试了:

   $("#if1").attr("src", $("#if2").attr("src"));

但这会再次加载文档。我想访问已经加载的文档#if1。我怎样才能做到这一点?

4

2 回答 2

0
$("#if1").attr("src", $("#if2").attr("src"));

但这会再次加载文档。

呃,是的,这就是你正在做的事情:你正在将 'src 设置if1if2's src。这就是它重新加载 iFrame 的原因...如果您在代码中交换 if1 和 if2 ,它可能会做您想做的事情——如果我能理解您的话。

于 2012-05-27T05:58:38.987 回答
0

看看这个正在运行的演示:http: //jsfiddle.net/aymansafadi/BanTV/5/show/

您可能感兴趣的关键部分是:

$('#swap').on('click', function() {
    var iframe1 = $('#if1')[0].contentWindow.location.href;
    var iframe2 = $('#if2')[0].contentWindow.location.href;

    $('#if1')[0].contentWindow.location.href = iframe2;
    $('#if2')[0].contentWindow.location.href = iframe1;
});

注意:只有当两个 iframe 与父窗口在同一个域下时,这以及您尝试的任何其他操作都将起作用。


您也可以使用.src('attr')设置URL,但不获取当前 URL。
演示:http: //jsfiddle.net/aymansafadi/BanTV/7/show/

$('#swap').on('click', function() {
    var iframe1 = $('#if1')[0].contentWindow.location.href;
    var iframe2 = $('#if2')[0].contentWindow.location.href;

    $('#if1').attr('src', iframe2);
    $('#if2').attr('src', iframe1);
});
于 2012-05-27T06:30:57.380 回答