登录名:  密码:  验证码: 6177
设为首页 收藏本站 联系站长
2008年8月28日
农历戊子年(鼠)
七月廿八
 首页 | 最新上传 | 新闻 | 购物商场 | 招聘求职 | HTML学习 | java学习 | IT新闻 | 黑客技术 | 域名和空间 | 流量统计 | 故事小说
 GIF动画制作 | 图片素材 | 源码下载 | 书籍下载 | 视频资料 | ASP | 数据库 | PHP | 基本电脑知识 | 迅雷资源 | 兼职 | 组网工程
 英语学习 | FLASH专区 | ASP.NET | VB | 综合资源网 | 驱动下载 | 游戏下载 | 网站模板网页美工 | 韩文学习 | 论坛
 特别推荐:漂亮网站网址  图片素材
  我要查找:  
欢迎您来这里。每天学一点,每天进步一点!
Google
 当前位置:首页 >> HTML学习  >> javascript学习
如何在父窗口调用子窗口的javascript方法
来源:  发表日期:2008年1月31日 作者: 

 编辑:admin 级别: 司令 浏览次数:82
】    

问:
在子窗口的javascript中,只要用window.opener.methodname就可以调用父窗口中的javascript方法,那么如何在父窗口中调用子窗口的javascript方法呢?
______________________________________________________________________________________________
答1:
sub=window.open("","","");
sub.functionname();
______________________________________________________________________________________________
答2:
这样不行,因为你用var sub = window.open()后,这时用sub.methodname时,系统好像只会在window的javascript方法中找,然后报个错,说window没有这个method。让人很是郁闷!
______________________________________________________________________________________________
答3:
parent.htm:
<html>
<head>
<script language=javascript>
var newWin;
function mm()
{
    newWin=window.open("child.htm","","width=200,height=150");
}
function nn()
{
    newWin.f1(); 
}
</script>
</head>

<body>
<input type=button value="open" onclick="mm()">
<input type=button value="调用2.htm中的函数f1" onclick="nn()">
</body>
</html>

child.htm:
<html>
<head>
<script language=javascript>
function f1()
{
    alert("这是2.htm中的alert!!"); 
}
</script>
</head>
<body>
<input type=button value="Execute" onclick="f1()">
</body>
</html>
______________________________________________________________________________________________
答4:
谢谢关注。可是我突然发现是在appServer中,这种调用方式是会出现我说到的错误,可是如果不用server,是不会出这种错误的。
to wssgwps(小刀会):
你把这两个文件拷到例如tomcat的webapp中,用
http://servername/../*.html的方式试一试就可以看出来了。
期待大家的帮助。
______________________________________________________________________________________________
答5:
<script>
check=null;
sub=null;
function ifload()
{
try
{sub.functionname();
clearTimeout(check);
window.status="done";
}
catch(e)
{
window.status="waiting";
}
}
sub=window.open("sub.htm","","");
check=setTimeout(ifload,2000);
</script>

______________________________________________________________________________________________
答6:
我昨天也想到可能是因为窗口没有打开,因为如果在调用方法以前先alert一下,就可以调用成功。谢谢seabell(百合心)的解答,不过我认为你的check没有真正的是使用上,是不是应该把check=setTimeout(ifload,2000);放在一个while循环中?不过非常感谢你的帮助。

(编辑:网站学习网)
Google
 ·上一篇文章: 用window.print()打印web窗体,如
 ·下一篇文章: 验证电话号码有效性
 该篇文章的评论
 暂无相关评论
 姓名:  邮箱:
 内容:
                
 相关文章
 · 怎样让DIV定位在页面中间
 · 怎么将checkbox, radio,
 · 甘特图对象的JavaScript
 · 再问怎样使一个已经打开
 · 请问怎样设计层div的属性
 · checkbox的checked属性返
 · JAVASCRIPT怎样清除IE缓
 · window.open怎样把打开窗
 · 如何在父窗口调用子窗口
 · 可不可以用javascript为
 · window.open最大化的问题
 最新上传文章
 · 15 NBTSTAT命令及用
 · 搜索登记接入口常用网址
 · 设置Session过期时间的问
 · 企业邮局不断壮大 
 · 电话呼叫转移的设置方法
 · 天气预报代码
 · 新浪QQ等站天气预报代码
 · 网店办照试行 无本
 · QQ,MSN,SKYPE等在线状态
 · 新浪QQ等站天气预报代码
 · 怎样根据CPU选购合适的主

服务说明 | 关于网站 | 联系我们 | 友情链接
网站学习网欢迎您!
http://www.studywebgood.com
浙ICP备07030755号 
联系邮箱:shuizhilang@126.com 如本网站侵犯了您的版权,请马上通知我.