window.showModelDialog和window.open方法

本文探讨了在不同浏览器中实现窗口间通信的方法,包括IE中特有的showModelDialog与dialogArguments组合,以及在谷歌浏览器中常用的window.open与postMessage方法。详细讨论了参数传递的三种方式:URL传参、使用window.opener获取父窗口方法返回的对象和postMessage方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. window.showModelDialog(url,params,features);

    可以在IE浏览器中打开窗口,在谷歌浏览器中不能使用
    利用window.dialogArguements 接收父窗口的数据

  2. window.open(url,name,features,replace);

    可以在谷歌浏览器中打开窗口
    三种传递参数的方法:

  • url传参: 比如 “localhost:80/index.html?id=2&name=123”
    子窗体使用windw.location.search.substring(1);获取问号后参数字符串
    缺点是如果参数过多,字符串长度过长 ,会被截断
  • window.opener 使用父窗体的方法获取参数
    比如在父窗体中定义方法
    GetParams(){ return object }
    子窗体中可获取参数 params = window.opener.GetParams();
    同样的也在子窗体中使用方法对父窗体中元素进行赋值
  • postMessage 方法

在谷歌浏览器中window.open()参数设置 location=no没有起到作用,不知道为何

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值