-1

現在読み込まれている iframe のドキュメントにアクセスし、そのドキュメントを別の iframe にリンクしたいので、次のことを試しました。

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

ただし、これによりドキュメントが再度読み込まれます。に既に読み込まれているドキュメントにアクセスしたい#if1。これどうやってするの?

4

2 に答える 2

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

ただし、これによりドキュメントが再度読み込まれます。

ええ、そうです、それがあなたがしていることです:if1の src を の src に設定していますif2。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 に答える