如何从框架运行功能

时间:2015-01-08 08:23:07

标签: javascript html frame frameset siebel

我有一个包含帧数和每个帧调用文件的文件(CCPageContainer.swt)。 (swt - siebel模板文件)

这是具有特定框架的代码的一部分:

<HTML dir="swe:dir">
<head>
<title><swe:this property="Title"/></title>
<swe:include file="CCStylesChoice.swt"/>
</head>

<swe:switch>
    <swe:frameset htmlAttr="rows='30,30,27,18,42,*,15' border='0' frameborder='No'">
       <swe:frame htmlAttr="marginheight='0' marginwidth='0' noresize scrolling='No'">
             <swe:include file="CCFrameGoToView.swt"/>      
       </swe:frame> 
    </swe:frameset>
</swe:switch>
</HTML>
在已调用的CCFrameGoToView.swt文件中的

我试图调用警报功能:

 <HTML dir="swe:dir">

    <body>
    <script language="JScript">
    function alert_test()
    {
        try
        {
            alert("test");
        }
        catch (err)
        {
            //document.write("oops.. an error has occurred");
        }
    }

 </script>
    <form name="myForm">
    <table>
      <tr>
        <td>ALERT: <input type="Button" value="alert5" onClick="alert_test();"><br></td>
      </tr>
    </table> 
    </form>
<swe:scripts/>
</body>
</html>

问题是当我按下按钮时警报信息不起作用。

如果我只运行CCFrameGoToView.swt,则警报按钮正在工作,我按下后会看到消息。 但是当我试图从CCPageContainer.swt运行它时,我没有按下警报按钮。

我也尝试过window.parent,window.top等。

请你的帮助。感谢。

1 个答案:

答案 0 :(得分:1)

尝试将自定义功能挂在顶部窗口,以便点击处理程序能够找到它的方式:

top.alert_test = function alert_test()
{
   // blah blah blah
}

然后:

onClick="top.alert_test();"

顺便说一句,将代码直接注入Siebel Web模板文件会感觉很奇怪,所以如果你告诉我们一些你想要完成的事情,我们或许可以帮助你思考一下更好的方法来实现它。