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

标签 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');
}

如何在 nav.html 中调用 fAlert()

我试过了

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

还有

parent.frames.top.fAlert();

但它不起作用(fAlert 未定义)。

有什么想法可以实现吗?

最佳答案

首先,不要使用框架集和框架。使用 iframe——框架已被弃用。

其次,为 iframe(或 frame,如果必须的话)提供一个 id,以便正确地引导函数调用。 (您已经完成了很多工作,但我是有条不紊的。)我不会将其命名为“top”,因为“top”在窗口和框架方面已经具有含义。

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

关于javascript - 从其他框架集中的框架调用javascript函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20098533/

相关文章:

javascript - 指令中未拾取 $broadcast

javascript - 在 jquery 中的表行中执行单击或焦点操作

html - 表格固定标题和带滚动条的第一列

image-processing - 从通过混合一堆图像创建的视频中提取帧正在改变帧的完整性

javascript - 单击指向子页面的链接时,如何将音乐播放器保留在页脚中不会重新加载?

javascript - 如何使用 Jquery/Javascript 引用同级框架?

javascript - 如何从 Jquery 获取真实对象?

javascript - 获取事件日期

html - Bootstrap - 我应该如何编辑 CSS 才能不修改源 bootstrap.css 文件?

javascript - 如何在悬停时展开容器中的每个子元素?