2012-05-27 35 views
-1

我要訪問一個iframe的當前加載的文件,該文件鏈接到另一個iframe中,爲了這個,我試過:將文檔裝入的iframe的jQuery

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

但這再次加載該文件。我想訪問已在#if1中加載的文檔。我怎樣才能做到這一點?

+0

咦 –

+0

你所說的 '鏈接與另一個IFRAME文件' 是什麼意思?而@Derek,你是怎麼繞過15分鐘的限制的? –

+0

這些iframe是否在同一個域下? –

回答

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

但是,這再次加載文件。

錯誤,是的,這就是你在做什麼:你正在設置if1的src到if2的src。這就是爲什麼它重新加載iFrame ......如果你在代碼中交換if1和if2,它可能會做你正在嘗試做的事 - 如果我設法理解你。

+0

謝謝,但我怎麼交換 – gaurav

+0

我的意思是交換它們。 – dda

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。
演示: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); 
}); 
+0

感謝您的回覆,但可以告訴我什麼是區別b/w'$(「#if1」)。attr(「src」,$(「#if2」)。attr(「src」));你的答案 – gaurav

+0

'.attr('src')'不過是'src'屬性的值。雖然iframe中的URL可能會更改,但src屬性的值不會。換句話說,您可以使用'src'屬性來設置iframe的位置,但不能獲取當前位置。查看其他演示:http://jsfiddle.net/aymansafadi/BanTV/7/show/ –