我想要实现的是通过java改变他们的名字,能够将href的内容加载到三个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/
非常感谢任何帮助
答案 0 :(得分: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);
};