JS中window.showModalDialog()详解

window.showModalDialog()方法用来创建一个显示HTML内容的模态对话框。 
window.showModelessDialog()方法用来创建一个显示HTML内容的非模态对话框。 
使用方法:

vReturnValue = window.showModalDialog(sURL [, vArguments] [,sFeatures]) 
vReturnValue = window.showModelessDialog(sURL [, vArguments] [,sFeatures]) 
参数说明: 
sURL--必选参数,类型:字符串。用来指定对话框要显示的文档的URL。 
vArguments--可选参数,类型:变体。用来向对话框传递参数。传递的参数类型不限,包括数组等。对话框通过window.dialogArguments来取得传递进来的参数。 
sFeatures-- 可选参数,类型:字符串。用来描述对话框的外观等信息,可以使用以下的一个或几个,用分号“;”隔开。 
1.dialogHeight :对话框高度,不小于100px,IE4中dialogHeight 和 dialogWidth 默认的单位是em,而IE5以上是px,为方便其见,在定义modal方式的对话框时,用px做单位。 
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[ Modeless]或no[Modal]。 
9.scroll:{ yes | no | 1 | 0 | on | off }:指明对话框是否显示滚动条。默认为yes。 
下面几个属性是用在HTA中的,在一般的网页中一般不使用。 
10.dialogHide:{ yes | no | 1 | 0 | on | off }:在打印或者打印预览时对话框是否隐藏。默认为no。 
11.edge:{ sunken | raised }:指明对话框的边框样式。默认为raised。 
12.unadorned:{ yes | no | 1 | 0 | on | off }:默认为no。 
参数传递: 
1.要想对话框传递参数,是通过vArguments来进行传递的。类型不限制,对于字符串类型,最大为4096个字符。也可以传递对象,例如: 
------------------------------- 
parent.htm

<script> 
var obj = new Object(); 
obj.name="i5tt"; 
window.showModalDialog("modal.htm",obj,"dialogWidth=200px;dialogHeight=100px"); 
</script>

modal.htm 
<script> 
var obj = window.dialogArguments 
alert("您传递的参数为:" + obj.name) 
</script> 
------------------------------- 
2.可以通过window.returnValue向打开对话框的窗口返回信息,当然也可以是对象。例如: 
------------------------------ 
parent.htm

<script> 
str =window.showModalDialog("modal.htm",,"dialogWidth=200px;dialogHeight=100px"); 
alert(str); 
</script>

modal.htm 
<script> 
window.returnValue="http://www.i5tt.com/"; 
</script>

将参数传递与返回结果结合在一起的实例

ParentPage.aspx

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script language="javascript" type="text/javascript">

        function openwindow() {
            var obj = new Object();
            obj.value = "3";
            obj.name = "4";
            obj.sew = "5";
            str =window.showModalDialog("ChildPage.aspx",obj,"dialogWidth=200px;dialogHeight=100px");
            alert(str);

        }

        function openModelessDialog() {
            var obj = new Object();
            obj.value = "3";
            obj.name = "4";
            obj.sew = "5";
            str = window.showModelessDialog("ChildPage.aspx", obj, "dialogWidth=200px;dialogHeight=100px");
            alert(str);

        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <input type="button" id="btnOpen" value="打开模态窗口" οnclick="openwindow();" />
    <input type="button" id="Button1" value="打开非模态窗口" οnclick="openModelessDialog();" />
    </div>
    </form>
</body>
</html>

ChildPage.aspx

<html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">
    <title></title>
    <script language="javascript" type="text/javascript">
        function getArguments() {
            var obj = window.dialogArguments
            alert("您传递的参数为:" + obj.value)
        }

 

 

        function windowclose() {
            window.returnValue = "childPage.Close";
        }
    </script>
</head>
<body οnunlοad="windowclose();">
    <form id="form1" runat="server">
    <div>
    <input type="button" id="btnOpen" value="打开窗口" οnclick="getArguments();" />
    <input type="button" id="btnClose" value="关闭窗口" οnclick='self.close(); ' />

    </div>
    </form>
</body>
</html>

转载于:https://www.cnblogs.com/xiaolixiansheng/p/5067938.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/397042.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一个简单的javascript节流器实现

节流器 javascript的节流器主要用于延缓某些动作的执行&#xff0c;比如ajax请求&#xff0c;如果input框注册了input事件&#xff0c;那么当用户输入时就会持续的触发这个事件&#xff0c;如果回调函数中持续的通过ajax调用后台的接口&#xff0c;就会对服务器产生一定压力。这…

一些会用到的知识

为什么80%的码农都做不了架构师&#xff1f;>>> HtmlAgilityPack 用来解析HTML代码 microsoft.mshtml CsQuery 解析HTML代码 转载于:https://my.oschina.net/uwith/blog/813725

eclipse怎么升级到java ee,如何为Java EE开发人员升级Eclipse?

Is there any non-painful way to upgrade an Eclipse installation? I have tried browsing the eclipse site but I cannot find an useful description.解决方案Add the update URL to your available sites:Window > Preferences > Install/Update > Available S…

LeetCode 7 Reverse Integer(反转数字)

题目来源&#xff1a;https://leetcode.com/problems/reverse-integer/ Reverse digits of an integer. Example1: x 123, return 321Example2: x -123, return -321 解题思路&#xff1a; 其实这道题看起来非常简单&#xff0c;要实现也是几行代码的事。但是有个小问题容易被…

各种蕴含算法思想的DP - 3

内容中包含 base64string 图片造成字符过多&#xff0c;拒绝显示转载于:https://www.cnblogs.com/cmyg/p/9566723.html

python图像对比_用python实现对比两张图片的不同

from PIL import Image from PIL import ImageChops def compare_images(path_one, path_two, diff_save_location): """ 比较图片&#xff0c;如果有不同则生成展示不同的图片 参数一: path_one: 第一张图片的路径 参数二: path_two: 第二张图片的路径 参数三:…

Kafka 分布式环境搭建

这篇文章将介绍如何搭建kafka环境&#xff0c;我们会从单机版开始&#xff0c;然后逐渐往分布式扩展。单机版的搭建官网上就有&#xff0c;比较容易实现&#xff0c;这里我就简单介绍下即可&#xff0c;而分布式的搭建官网却没有描述&#xff0c;我们最终的目的还是用分布式来解…

Docker Machine搭建并加入节点

对于集群服务器来讲&#xff0c;要在每台机器上手动安装Docker是一件及其痛苦的事情&#xff0c;还好有Docker Machine这一工具&#xff0c;Docker三剑客中的一角. 一、Docker Machine介绍 这个工具已经出了比较久了&#xff0c;Docker Machine官方介绍&#xff1a;https://doc…

ASPNET5的依赖注入

ASP.NET5设计的时候就是以DI为基础的&#xff0c;它可以利用内建的框架在Startup类的方法中&#xff0c;把依赖注入进去。应用服务也可以被配置的注入。默认的服务容器提供一些基本的功能&#xff0c;它并不打算代替现代主流的DI框架。 1. 什么是Dependency Injection? DI的概…

java 权限控制 demo_Java-访问控制权限

Java面向对象-访问控制权限Java中&#xff0c;可以通过一些Java关键字&#xff0c;来设置访问控制权限&#xff1b;主要有 private(私有)&#xff0c; package(包访问权限)&#xff0c;protected(子类访问权限)&#xff0c;public(公共访问权限)privatepackageprotectedpublic同…

《未来世界的幸存者》笔记

https://ruanyf.github.io/survivor/ 这两天一直在上下班途中&#xff0c;读阮一峰的这本书 《未来世界的幸存者》。还是有不少感慨的。做一下记录。 未来人类社会的形态&#xff0c;将发生颠覆性的变化。旧的社会结构已经在崩溃了&#xff0c;但社会底层的机会变得更少了&…

python类中没有属性_如何在python语言中在类中删除属性和添加属性

在python语言中的类&#xff0c;可以使用class定义类&#xff0c;调用__init__方法进行初始化&#xff1b;默认传入self&#xff0c;可以在后面在添加几个属性。可以使用setattr()添加属性&#xff0c;也可以使用delattr()删除属性。下面利用几个实例说明这两个方法的用法&…

mysql 数据复制停止工作_linux – Mysql GTID复制停止工作

我在主服务器和从服务器之间设置了mysql gtid复制.有趣的是,我发现复制在几分钟后停止工作,我必须使用stop slave并启动slave来重启mysql复制.谁能告诉我是什么原因导致这个问题&#xff1f;改变奴隶主&#xff1a;mysql> change master to-> master_host master.com,-&…

python学生管理系统gui版好例子网_python图书管理系统gui 相关实例(示例源码)下载 - 好例子网...

开发语言&#xff1a;Python | 大小&#xff1a;19.05M | 发布时间&#xff1a;2019-05-27 | 发布人&#xff1a;李易峰 相关标签&#xff1a; 立即下载 开发语言&#xff1a;Python | 大小&#xff1a;0.21M | 发布时间&#xff1a;2020-08-23 | 发布人&#xff1a;聂嘉辉 相关…

COM组件的运行机制

COM组件的运行机制  构造一个创建COM组件的最小框架结构    IUnknown *pUnkNULL;    IObject *pObjectNULL;    CoInitialize(NULL);    CoCreateInstance(CLSID_Object, CLSCTX_INPROC_SERVER, NULL, IID_IUnknown, (void**)&pUnk);    pUnk->Qu…

申请去国外读博士

必须要做的事情是&#xff1a; 考过GRE和TOEFL 准备推荐信 个人CV 联系导师一般就是发邮件 转载于:https://www.cnblogs.com/zhulinmails/p/5078695.html

动态编译

下面的demo就涵盖了动态编译和运行类的过程 package 动态编译; import java.lang.reflect.Method;import java.net.URL;import java.net.URLClassLoader; import javax.tools.JavaCompiler;import javax.tools.ToolProvider; public class Demo { public static void main(Stri…

python怎么打开spyder_Python开发环境Spyder安装方法

Spyder(Scientific PYthon Development EnviRonment)是一个强大的交互式 Python 语言开发环境&#xff0c;提供高级的代码编辑、交互测试、调试等特性&#xff0c;支持包括 Windows、Linux 和 OS X 系统。 本文在只安装过python2.7的Win7环境下进行安装Spyder&#xff0c;其他环…

矩阵、向量求导法则

复杂矩阵问题求导方法&#xff1a;可以从小到大&#xff0c;从scalar到vector再到matrix。 x is a column vector, A is a matrix practice: 转载于:https://www.cnblogs.com/vincentQin/p/5406010.html

java字符函数_java字符串函数用法汇总

替换字符串中的字符例如有如下x的字符串String x "[kllkklk\kk\kllkk]";要将里面的“kk”替换为&#xff0c;可以使用两种方法得到相同的结果replace(CharSequence target, CharSequence replacement) —— x.replace("kk", "")replaceAll(Stri…