从其他框架集中的框架调用javascript函数

时间:2013-11-20 14:26:09

标签: javascript html frames

我的网站设置如下:

<frameset rows="80,*">
    <frame name="top" id="top" src="header.html">
    <frameset id="innerframe" cols="300,*">
        <frame name="nav" src="nav.html">
    </frameset>
</frameset>


header.html我有:

function fAlert() {
    alert('test');
}

如何在fAlert()中拨打nav.html

我试过了

var fframe = parent.document.getElementById('top');
fframe.fAlert();

以及

parent.frames.top.fAlert();

但它没有用(fAlert is undefined)。

我有什么想法可以做到这一点吗?

2 个答案:

答案 0 :(得分:6)

首先,请勿使用框架集和框架。使用iframe - 不推荐使用框架。

其次,为iframe(或帧,如果必须)提供id,以便正确引导函数调用。 (你已经完成了这个,但我有条不紊。)我不会把它命名为'top',因为'top'在窗口和框架方面已经有了意义。

从导航框内部,parent.insertYourFrameIdHere.fAlert()应该可以正常工作。这假设有两件事:1)页面和框架内容来自同一个域,2)header.html正确加载,并且没有脚本错误。脚本错误或其他问题可能导致函数无法创建。

答案 1 :(得分:6)

对于你问题中的html应该有效。

window.parent.parent.frames[0].fAlert();