前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >window.showModalDialog()用法

window.showModalDialog()用法

作者头像
说故事的五公子
发布2020-08-10 16:00:50
1.6K0
发布2020-08-10 16:00:50
举报

1.定义

window.showModalDialog()用来创建模态对话框

语法为:vReturnValue = window.showModalDialog(sURL [, vArguments] [,sFeatures]);

参数:

(1)sURL :指定对话框要显示的文档的URL,字符串,必填

(2)vArguments:要向对话框传递的参数,变体(数组、变量等),选填

(3)sFeatures:生成对话框的外观信息,字符串,选填

参数

含义

说明

dialogHeight

对话框高度

不小于100px

dialogWidth

对话框宽度

dialogLeft

离屏幕左的距离

dialogTop

离屏幕上的距离

center

是否居中

默认yes(yes:1,no:0)

help

是否显示帮助按钮

默认yes

resizable

是否可被改变大小

默认no

status

是否显示状态栏

Modal默认no,Modeless默认yes

scroll

是否显示滚动条

默认为yes

注意:

window.showModalDialog()只能在IE浏览器中使用,如果是chrome或者火狐浏览器,可以使用window.open()方法,window.open()的具体用法参考https://www.cnblogs.com/wugongzi/p/13438578.html这篇博文。

区别:

window.showModalDialog()和window.open()都可以打开页面,两者之间有什么区别?

用window.showModalDialog()打开窗口,只有等打开的窗口关闭后,才会执行后面的js代码(同步);而window.open()打开窗口的同时就会继续往下执行代码(异步),所以如果你想等获取到子页面的值以后在去执行方法,建议使用showModalDialog()方法

2.用法

现在我们一起来看一下showModalDialog具体该如何使用

我们新建两个页面,放在同一个文件夹下面,名称分别为parent.html和child.html,分别代表父页面和子页面。在父页面中打开子页面窗口,并传递参数。子页面收到父页面传递过来的参数后进行输出,同时当子页面关闭时将返回值传递给父页面。父页面获取到返回值后进行输出。

parent.html

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>父页面——showModalDialog用法</title>
</head>
<body>
    <div>
        <button onclick="showDialog()">打开新窗口</button>
    </div>
    <script>
        function showDialog() {
            var message = "我是父页面的数据123";
            var obj = window.showModalDialog("child.html", message, 'dialogWidth:300px;dialogHeight:380px;');
            alert("返回的数据"+obj);
        }
    </script>
</body>
</html>

child.html

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <button onclick="getMessage()">获取父页面传递过来的数据</button>
    <script>
        function getMessage() {
            var message = window.dialogArguments;
            alert(message);
            window.returnValue="我是返回的数据abc";
        }
    </script>
</body>
</html>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-08-05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.定义
  • 2.用法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档