現在読み込まれている iframe のドキュメントにアクセスし、そのドキュメントを別の iframe にリンクしたいので、次のことを試しました。
$("#if1").attr("src", $("#if2").attr("src"));
ただし、これによりドキュメントが再度読み込まれます。に既に読み込まれているドキュメントにアクセスしたい#if1
。これどうやってするの?
現在読み込まれている iframe のドキュメントにアクセスし、そのドキュメントを別の iframe にリンクしたいので、次のことを試しました。
$("#if1").attr("src", $("#if2").attr("src"));
ただし、これによりドキュメントが再度読み込まれます。に既に読み込まれているドキュメントにアクセスしたい#if1
。これどうやってするの?
$("#if1").attr("src", $("#if2").attr("src"));
ただし、これによりドキュメントが再度読み込まれます。
ええ、そうです、それがあなたがしていることです:if1
の src を の src に設定していますif2
。iFrame をリロードするのはそのためです... コード内で if1 と if2 を交換すると、意図したとおりに動作する可能性があります。
この実行中のデモをチェックしてください: 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);
});