我在一个框架集中有2个页面,在第一个页面我有一个Javascript函数,第二个是带有按钮的asp.net表单,事情是我需要在用户的第一页调用Javascript函数点击按钮:
我正在尝试:
ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script language=JavaScript>parent.frames[0].Function('parameter')</script>");
有警报('...');在函数中但是当我调用它时我什么都没看到,显然函数没有被执行。
¿我该怎么称呼这个功能?感谢您的帮助和帮助建议。
答案 0 :(得分:1)
尝试使用FireBug(对于Firefox,或使用FireBug Lite用于其他浏览器)查看每个框架的实际HTML和脚本。
一旦结束在ASP.net中正确创建代码,继续使用FireBug查看使用断点的脚本代码出错的位置。
如果你想要一个更快的想法,尝试在调用函数之前在你输入的代码中使用一些测试,试试这个:
alert(parent.frames.length);
alert(parent.frames[0].Function);
parent.frames[0].Function('parameter');
答案 1 :(得分:0)
非常感谢,Dror,让我度过了一段耗时的麻烦!
我可以补充说,除了索引之外,看起来人们可以使用框架的名称(原谅我,伙计,如果这很明显):
父母htm:
:
<frameset rows="120,*">
<frame name="OverviewFrame" id="OverviewFrame" src="eoverview.htm">
<frame name="LegendFrame" id="LegendFrame" src="">
</frameset>
<frameset cols="50%,50%">
<frame name="ControlsFrame" id="ControlsFrame" src="zoomcontrols.htm">
<frame name="InsetControlsFrame" id="InsetControlsFrame" src="insetcontrols.htm">
</frameset>
:
frame htm(insetcontrols.htm):
parent.frames['OverviewFrame'].enableSync(false);
(其中eoverview.htm包含函数enableSync(bool)
)
在FF3.6.3,Chrome 4.1.249.1064,Safari 4.0.5,Opera 9.80,IE 8,IE 8兼容模式上测试