如何调用子中指定的javascript函数

发布于 2024-11-05 18:50:22 字数 945 浏览 2 评论 0原文

我正在开发一个基于 和 标签的古老项目。

下面是父页面 (index.html) 的常见 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() 函数。我该怎么做?
提前致谢!

I'm working on a ancient project which is based on and tags.

Here's the common HTML structure of the parent page (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>

Here how I specify the javascript function on the child frame (frame3.html):

<!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>

My task is to call helloWorld() function. How do I do that?
Thanks in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

一页 2024-11-12 18:50:22

你可以这样做:

document.getElementById('frame3').contentWindow.helloWorld();

You can do it like this:

document.getElementById('frame3').contentWindow.helloWorld();
小梨窩很甜 2024-11-12 18:50:22

您可以从子框架调用方法

window.frames[n].frames[m].methodName()

,其中 n , m 是从 0 开始的整数。如果您有文档
只需一帧即可删除frames[m]部分并完成工作。

还有一件事,一定要尝试一下错误并找出确切的帧数
和方法。
希望这有帮助

You can call method from childframe

window.frames[n].frames[m].methodName()

where n , m are integers starting from 0.If you have document
only one frame remove the frames[m] part and get the job done.

Ya one more thing , do trial an error and find out exact frame numbers
and method.
Hope this helps

祁梦 2024-11-12 18:50:22

检查 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();

Check for contentWindow, contentDocument and get the frame object and perform call.

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();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文