页面弹出框总结

三种方法:
window.open();创建一个显示HTML内容的子页面
window.showModalDialog();创建一个显示HTML内容的模态对话框,必须关闭弹出子窗口才能对父页面进行操作
window.showModelessDialog();创建一个显示HTML内容的非模态对话框,可以不关闭弹出子窗口继续对父页面进行操作


参数:
window.open(pageURL,name,features,replace);
说明:新建一个窗口或者查找一个已经存在浏览器窗口
pageURL 为子窗口路径
name 为子窗口句柄,设置新窗口的名称,如果指定了一个已经存在的窗口,则返回对该窗口的引用,parameters会被忽略
features 为窗口参数(各参数用逗号分隔)
replace 可选,设置新窗口中的操作历史的保存方式,true创建新历史记录false替换旧的历史记录

window.showModalDialog(sURL,vArguments,sFeatures);
window.showModelessDialog(sURL,vArguments,sFeatures);
sURL 同pageURL,要显示html的路径
vArguments 变量,用来向弹出框传递参数,类型不限,对话框通过window.dialogArguments来获取
sFeatures 同features,弹出框的设定参数,可以使用以下的一个或几个,用分号“;”隔开


传递:
window.open();可以通过window.opener获得父页面的任何元素
说明:内嵌到html中的iframe中的html,通过window.parent获得父页面的任何元素
父页面获取子页面的任何元素通过获取到存放子页面的容器对象的contentWindow属性document.getElementById(id).contentWindow

window.showModalDialog();是通过方法第二个参数传递需要的参数的,可以是任何类型,一般情况定义一个Object,给Object添加要传递的参数。
//传递参数
var numArray = new Array();
var str = 'aa';
var obj = new Object();
function alertTip(tip){
alert(tip);
}
obj.document = window.document; //将父页面的document对象传递过去,弹出框可以操作父页面任何元素
obj.array = numArray; //传递数组
obj.str = str; //传递字符串
obj.alertTip = alertTip; //传递方法
var returnValue = window.showModalDialog(sURL,obj,sFeatures); //窗口返回值
if(returnValue){} //窗口关闭后会继续执行
//获取参数
var num = window.dialogArguments.numArray[0];
var str = window.dialogArguments.str;
var inputValue = window.dialogArguments.document.getElementById(id);
window.dialogArguments.alertTip('Alert');
window.returnValue = true; //设定返回值,可以是任何类型,也可以定义一个Object类型,你懂的

window.showModelessDialog();跟window.showModalDialog();区别就是在于返回值上,showModalDialog弹出窗口后,父页面就会停止往下执行,
只有当把弹出框关闭后才会继续执行,这时弹出框会返回一个参数给父页面,父页面可以对这个参数进行处理。所以如果需要关闭弹出框后父页面需要做一些处理,那就请使用showModalDialog
使用showModelessDialog后,父页面会继续执行,两者是分离开的,所以两者间关联少了,父页面无法获取到弹出框的元素



窗口参数说明:
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。

你可能感兴趣的:(JavaScript,html)