JS中showModalDialog详细使用_yongyonglsy的博客-程序员宅基地

技术标签: ViewUI  javascript  


基本介绍:
showModalDialog() (IE 4+ 支持)
showModelessDialog() (IE 5+ 支持)
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
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="51js";
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://homepage.yesky.com";
</script>

常见技巧:

一、怎样才让在showModalDialog和showModelessDialog的超连接不弹出新窗口?
  在被打开的网页里加上<basetarget="_self">就可以了。这句话一般是放在<head>之间的。

二、怎样才刷新showModalDialog和showModelessDialog里的内容?
  在showModalDialog和showModelessDialog里是不能按F5刷新的,又不能弹出菜单。这个只能依靠

javascript了,以下是相关代码:

<body οnkeydοwn="if(event.keyCode==116){reload.click()}">
<a id="reload" href="filename.htm"style="display:none">reload...</a>

  将filename.htm替换成网页的名字然后将它放到你打开的网页里,按F5就可以刷新了,注意,这个要

配合<base target="_self">使用,不然你按下F5会弹出新窗口的。

三、如何用javascript关掉showModalDialog(或showModelessDialog)打开的窗口。
  <inputtype="button" value="关闭"οnclick="window.close()">
  也要配合<base target="_self">,不然会打开一个新的IE窗口,然后再关掉的。

四、Math.random与showModalDialog。

当你设置的弹出网页固定时(如上面的"modal.htm"页面),ie很可能到临时文件区,下载上次产生的该页面(openPage.html),而没有重新加载,

对于动态加载的页面来说,这样往往产生误会,如没有及时更新数据,也就更不利于开发者测试。所以,你可以采用如下方式:

var strPage = “/medal.htm?random="+Math.random();

这样每次产生的strPage是不一样的,原因也就不言自明了

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/yongyonglsy/article/details/84442090

智能推荐

连接远程计算机输入网络密码错误,win7_葛次之的博客-程序员宅基地

2020-03-09 11:03:17  浏览量:395最近有win7旗舰版系统用户在进行远程连接打印机的时候,到登陆界面但是就是登陆不成功,却碰到提示“未知的用户名或者密码错误”的情况,这是怎么回事呢,本教程就给大家分享一下win7远程连接打印机提示“未知的用户名或者密码错误”的详细步骤。2020-10-16 14:03:29  浏览量:244在日常生活或工作中我们经常会用到远程桌面连接功能,即...

Jackson将json字符串转换成泛型List_me-ht的博客-程序员宅基地

情景:需求,需要做一个接口,请求体中的参数是string类型。参数是一个批量的数据,json数组格式,所以需要把string的参数转换成list类型。参数如下:[{"doctorCode": "0210000","hospitalName": "上海市第一人民医院","hospitalLevel": "三级甲等","hospitalProvinc

【排序算法】快排算法_Lionel_Coder的博客-程序员宅基地

快速排序由来快速排序是对冒泡排序的一种改进。快速排序由一个人在1960年提出。他的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,一次嗲到整个数据变成有序数列。简介突然想起来这些算法我大学学数据结构的时候就写过。然后就忘了。忘得一干二净。算法中首先会在序列中随机选择一个基准值,pivot,然后将除了基准值以外的数分为“比基准数小的数”和“比基准数大的数”,再将其排列成

esp8266无线调试器_xiaguangbo的博客-程序员宅基地_esp8266 jtag

单esp8266的调试器这是别人的项目,暂时支持SWD/JTAG,但没有串口原项目地址为https://github.com/windowsair/wireless-esp8266-dap对应的SDK下载:https://github.com/espressif/ESP8266_RTOS_SDK/releases/tag/v3.3-rc1。3.3版本用不了,会提示ram超出。安装cmake,并将bin文件夹添加到环境变量,软件安装时有这个选项,可能需要自己去选择。让esp的工具链的msy

Linux学习——(五)远程管理命令_New obj的博客-程序员宅基地

shutdown命令shutdown 选项 时间 (没有制定选项和时间,默认表示1分钟之后关机) - 重新启动: -r - 取消之前关机计划:-c - 立刻关机:now - 再过10分关机:shutdown +10 - 系统在今天八点关机:shutdown 8:00ifconfig和ping命令 - ifconfig:查看或配置计算机当前的网卡配置信息 - ping IP...

Emacs命令_lsnail的博客-程序员宅基地

0. M-! 执行shell命令1. 直接在终端中运行emacsemacs -nw2. C-X 表示按住CTRL键, 然后按X, 再把CTRL, X一起放开.3. M-X 等于先按 ESC键, 接著按 X键.4. M-X 等于alt键.5. C-X或 M-X的X没有大小写分别.6. 超过两个以上的按键命令,Emacs会在萤幕最下面一行显示你按过什么.这一行叫作mini buffer

随便推点

Unity中的UGUI源码解析之事件系统(3)-EventData_拂面清风三点水的博客-程序员宅基地_eventdata

Unity中的UGUI源码解析之事件系统(3)-EventData为了在事件系统中传递数据, Unity提供了EventData相关的类来封装这一类数据. 了解这些结构有助于我们对后面模块的学习.EventData相关的类有几个, 下面一一介绍.AbstractEventData: 事件数据的抽象基类BaseEventData : AbstractEventData: 基础的事件数据类PointerEventData: BaseEventData: 指针事件数据类AxisEventData:

python matplotlib画多个图_Python使用matplotlib绘制多个图形单独显示的方法示例_weixin_39849942的博客-程序员宅基地

本文实例讲述了Python使用matplotlib绘制多个图形单独显示的方法。分享给大家供大家参考,具体如下:一 代码import numpy as npimport matplotlib.pyplot as plt#创建自变量数组x= np.linspace(0,2*np.pi,500)#创建函数值数组y1 = np.sin(x)y2 = np.cos(x)y3 = np.sin(x*x)#创建...

proxy 前端服务器代理_flynn_的博客-程序员宅基地_前端proxy代理

多服务器代理react 独立文件配置// 独立文件配置const { createProxyMiddleware } = require('http-proxy-middleware');module.exports = function proxy(app) { app.use( '^/mock', createProxyMiddleware({ target: 'http://xxx:3000', changeOrigin: true,

VS+opencv应用程序无法正常启动_chauncywang_1580的博客-程序员宅基地

今天由于换电脑,重新配置了vs2013+opencv2.4.9,对照着教程配置好后,在debug程序的时候出现“应用程序无法正常启动0xc000007b…”的问题,怀疑是配置除了问题,于是,对照的好几个帖子配置了好几次,都出现了该结果,尝试了网上各种解决方法,这些解决方法我就不说了,都能找到,在这里只是分享我遇到的问题,(⊙﹏⊙)b。因为试了没有opencv的程序能跑,所以基本确定是因为ope...

如何让程序员更容易的开发Web界面?重构SmartAdmin展示TinyUI_TINY框架的博客-程序员宅基地

如何让程序员更容易的开发Web界面,是一个持久的话题,所有的从事相关开发的公司都会碰到这个问题,并且被这个问题所深深困扰。 Tiny框架也不得不直视这个问题,确实来说,想解决这个问题,也是非常有难度与深度的,业界也有各种各样的尝试,这也是有各种各样不同框架出现的原因。 Tiny框架构建者认为,完全采用一种框架解决所有问题,是不现实的。而且即使目前找得到一种非常好的框架,暂时可以满足应用需要,但...

推荐文章

热门文章

相关标签