文档不会加载到iframe中,但名称已更改

时间:2015-06-15 11:11:55

标签: javascript html google-chrome iframe

我想要实现的是通过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/
非常感谢任何帮助

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);
};