2015-06-15 54 views
1

我想實現的是能夠通過java更改它們的名稱,將href的內容加載到三個iframe之一中。文檔不會加載到iframe中,但正確的名稱

問題是:Chrome會始終將內容加載到第一個iframe中,而忽略它的名稱更改,這個問題在Firefox中不會發生。

function change_name() 
 
{ 
 
document.getElementById('frame1').name = "#" ; 
 
document.getElementById('frame2').name = "main_frame" ; 
 
};
.frame { 
 
    width:100px; 
 
    height:100px; 
 
}
<iframe id="frame1" name="main_frame" class="frame"></iframe> 
 
<iframe id="frame2" name="#" class="frame"></iframe> 
 
<iframe id="frame3" name="#" class="frame"></iframe> 
 

 
<input type="submit" onclick="change_name()" value="change iframe name"/> 
 
<a href="www.stackoverflow.com" target="main_frame">load page into iframe</a>

的jsfiddle證明什麼,我試圖做的:http://jsfiddle.net/514y7v4m/1/
任何幫助深表感謝

回答

1

在這個環節迷迷糊糊:http://help.dottoro.com/ljbimuon.php

的一些修改後,你的腳本,我相信這可能是解決方案。改變contenWindow.name而不是僅僅是名字似乎有訣竅。

function change_name() { 
    var one = document.getElementById('frame1'); 
    one.contentWindow.name = "#"; 
    console.log("The name is: " + one.name); 
    console.log("The name of the window: " + one.contentWindow.name); 

    var two = document.getElementById('frame2'); 
    two.contentWindow.name = "main_frame"; 
    console.log("The name is: " + two.name); 
    console.log("The name of the window: " + two.contentWindow.name); 
}; 
+0

非常感謝,作品像一個魅力,再加上它是相當簡單的解決方案。再次感謝。 –