ie弹框方法升级替换

最近浏览器ie过时了,公司项目中部分方法过期了,于是就要替换
其中遇到一些坑,分享一下
window.showModalDialog()替换window.open()方案
下面进行分析
window.showModalDialog(url,name,parameter)
参数说明:
url
弹框页面地址
name
弹框的标题
parameter
弹框参数,可以使用以下的一个或几个,用分号“;”隔开。
1.dialogHeight :对话框高度
2.dialogWidth: 对话框宽度
3.dialogLeft: 离屏幕左的距离
4.dialogTop: 离屏幕上的距离
5.center: {yes | no | 1 | 0 }:窗口居中,默认yes
6.help: {yes | no | 1 | 0 }:显示帮助按钮,默认yes
7.resizable: {yes | no | 1 | 0 } [IE5+]:窗口调节。默认no
8.status: {yes | no | 1 | 0 } [IE5+]:状态栏。默认为yes
9.scroll:{ yes | no | 1 | 0 | on | off }:指明对话框是否显示滚动条。默认为yes。
要点:
该方法通过子页面window.returnValue获取返回值,是同步方法,必须等待方法返回后才往下执行
写法

var returnValue= window.showModalDialog(url,"","dialogWidth:860px;dialogHeight:420px;help:no;status:no;resizable:yes;toolbar:no;menubar:no");

window.open(url,title,parameter)

parameter为新窗口要显示的标准浏览器窗口的特征
location | yes/no | 位置栏是否可见
menubar | yes/no | 菜单栏是否可见
resizable | yes/no | 窗口大小是否可调整
scrollbars | yes/no | 窗口是否可有滚动栏
titlebar | yes/no | 窗口题目栏是否可见
toolbar | yes/no | 窗口工具栏是否可见
width| value | 窗口宽度
height| value | 窗口高度
要点:
该方法通过子页面window.returnValue获取的并不是返回值,而是win对象,是异步方法,所以直接替换不行
写法

window.open(url,"","width=500px,height=200px,toolbar=no,menubar=no,scrollbars=yes,resizable=yes,status=no");

后面查资料发现可以使用window.opener.父页面function()
把原来父页面需要接收返回值的后续代码写在该function中,就可以达到同步效果,实现替换
例子
父页面

var url='www.son.com';
window.open(url,"","width=500px,height=200px,toolbar=no,menubar=no,scrollbars=yes,resizable=yes,status=no");
//回调方法
function comeback{
	......
}

子页面

.....
function save(){
//调用父页面方法
window.opener.comeback(参数)
window.close();
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值