我正在开发一个基于和标签的方便项目。
以下是父页面的常见HTML结构(index.html):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
</head>
<frameset rows="75px,*" frameborder="0">
<frame name="frame1" src="frames/frame1.html">
<frameset class="child_frameset">
<frame name="frame3" src="frames/frame3.html">
</frameset>
</frameset>
</html>
这里我如何在子框架(frame3.html)上指定javascript函数:
<!DOCTYPE html>
<html lang="en">
<head>
<script type="text/javascript">
function helloWorld(){
alert('hello world!');
}
</script>
</head>
<body>
<h1>I'm frame 3</h1>
</body>
</html>
我的任务是调用 helloWorld()函数。我该怎么做?
提前谢谢!
答案 0 :(得分:21)
你可以这样做:
document.getElementById('frame3').contentWindow.helloWorld();
答案 1 :(得分:1)
检查contentWindow,contentDocument并获取框架对象并执行调用。
var siblingFrame;
if (parent.document.getElementById('siblingFrameId').contentWindow){
siblingFrame = parent.document.getElementById('siblingFrameId').contentWindow;
} else if (parent.document.getElementById('siblingFrameId').contentDocument){
siblingFrame = parent.document.getElementById('siblingFrameId').contentDocument;
} else if (parent.document.getElementById('siblingFrameId')) {
siblingFrame = parent.document.getElementById('siblingFrameId');
}
siblingFrame.helloWorld();
答案 2 :(得分:1)
您可以从子框架调用方法
window.frames[n].frames[m].methodName()
其中n,m是从0开始的整数。如果你有文件 只有一帧删除了帧[m]部分并完成了工作。
雅还有一件事,试错了并找出确切的帧数 和方法。 希望这有帮助