Javascript:从另一帧

时间:2016-04-26 13:45:50

标签: javascript function frame frameset

我不认为这个问题和我想的一样困难。我已经阅读了很多关于框架集和框架的文章和帖子,并从另一个框架中调用了一帧的功能。我想要实现的是从父窗口调用一帧中的函数。我尝试了很多东西,似乎没什么用。任何帮助将非常感激。我的问题在下面

基本上我的主页面有3个框架,一个框架用于标题细节是恒定的),一个用于菜单列表,另一个用于根据用户的菜单选择加载结果

MainPage.jsp:Mainpage有3个帧,其中一个是函数调用的源(firstFrame),另一个是函数调用的目标(targetFrame)。 firstFrame包含我的所有菜单列表,当用户点击一个菜单时, 基于选择结果将加载到targetFrame上。我的最终目标是展示一个'处理'用户选择一个菜单时的动画。 为此,我需要在targetFrame中调用一个函数,它将显示一个div。

<frameset>
<frame name="firstFrame" src="firstFrame.jsp">
<frameset>
<frame name="secondFrame" src="secondFrame.jsp">
<frame id='frameid' name="targetFrame" src="target.jsp">
</frameset>
<frameset>

mainPageJSPFunction () {
This function will be called from source.jsp, which I am able to do   
successfully everytime, and this function will call a function in   
target.jsp, which is failing with error 'Object doesn't support method'   
except the very first time. For the very first time everything just works  
perfect.
}

firstFrame.jsp: firstFrame源是firstFrame.jsp,它包含一个source.jsp,它实际上显示了所有菜单链接。     

source.jsp: 这是我的source.jsp,其中包含所有链接。我可以为每个菜单选择调用sourceFunction(),从那里我可以调用mainPageJSPFunction()(使用parent.parent.mainPageJSPFunction())。 我的所有问题现在都开始了现在我试图从mainPageJSPFunction()调用target.jsp的targetFunction()。我能够第一次打电话给它。之后代码在mainPageJSPFunction()中失败,说&#39;对象不支持方法&#39;。     function sourceFunction(){}

target.jsp:     function targetFunction(){}

以下是我从mainPageJSPFunction()尝试调用targetFunction()的一些代码 我试过了     window.frames [2] .targetFunction()     的document.getElementById(frameid).targetFunction()     的document.getElementById(frameid).contentDocument.targetFunction()     的document.getElementById(frameid).contentWindow()。targetFunction()

以上都没有效果。 非常感谢任何帮助...

1 个答案:

答案 0 :(得分:0)

您可以使用postMessage()

我将为您提供在父子框架之间进行通信的能力