我有一个包含帧数和每个帧调用文件的文件(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等。
请你的帮助。感谢。
答案 0 :(得分:1)
尝试将自定义功能挂在顶部窗口,以便点击处理程序能够找到它的方式:
top.alert_test = function alert_test()
{
// blah blah blah
}
然后:
onClick="top.alert_test();"
顺便说一句,将代码直接注入Siebel Web模板文件会感觉很奇怪,所以如果你告诉我们一些你想要完成的事情,我们或许可以帮助你思考一下更好的方法来实现它。