1、方案一(谷歌浏览器不支持)
a)建立模式对话框显示指定的文档
var dialog=window.showModalDialog(url, arguments,features);
url:必选参数,用来指定对话框要显示的文档的url。
arguments:可选参数,用来向对话框传递参数,传递的参数类型不限,包括数组等。对话框通过window.dialogArguments来取得传递进来的参数,常用window。
features:可选参数,用来描述对话框的外观信息,可以使用一个或多个,用分号隔开,dialogHeight设置对话框的高度,dialogLeft设置对话框左上角相对于桌面的横坐标,dialogTop设置对话框左上角相对于桌面的纵坐标,dialogWidth设置对话框的宽度,center指定对话框是否位于桌面正中(默认为yes),dialogHide指定当打印或打印预览时对话框是否隐藏,仅当对话框是由被信任的程序打开时此参数才可用(默认为no),edge指定对话框窗口边框样式为凹下还是凸起(默认为raised),help指定对话框是否显示上下文相关的帮助信息(默认为yes),resizable指定对话框是否可以被用户改变尺寸(默认为no),scroll指定对话框是否显示滚动条(默认为yes),status指定对话框是否显示状态条(不被信任的对话框默认为yes,被信任的对话框默认为no),unadorned指定对话框是否显示chrome样式边框,仅当对话框是由被信任的程序打开时此参数才可用(默认为no)。
b)建立无模式对话框显示指定的文档
var dialog=window.showModallessDialog(url, arguments,features);
模式对话框弹出后就始终保持输入焦点,除非对话框被关闭,否则用户无法切换窗口;在用户切换窗口时,无模式对话框依然会显示。
2、方案二
window.opener:返回的是创建当前窗口的那个窗口的引用。
如:点击a.html打开了b.html,要在b.html上输入一个值然后赋予a.html上的一个id为”txt”的text,可以写为window.opener.document.getElementById(“txt”).value=输入的值。
var dialog=window.open(url, name,features,replace);
url:可选参数,用来指定对话框要显示的文档的url,若不指定,则会显示about:blank的新窗口。
name:可选参数,指定打开的窗口的名字,_media表示在浏览器左边的媒体面板打开url,_blank表示在新窗口中打开url,_parent表示在当前框架的父框架中打开url,若无父框架则等价于_self,_search表示在浏览器左边的搜索面板打开url,_self表示在当前窗口中打开url,覆盖当前文档,_top表示在所有框架之外的最顶层窗口中打开url,若无框架则等价于_self。
features:可选参数,用来描述窗口的外观信息,可以使用一个或多个,用分号隔开,只有当新的浏览器窗口被建立时,此参数的设置才会发生作用,channelmode指定是否将窗口显示为频道模式(默认为no),directories指定是否显示链接按钮(默认为yes),fullscreen指定是否以全屏方式显示窗口(默认为no),height指定窗口的高度(最小值为100),width指定窗口的宽度(最小值为100),left指定窗口左上角相对于桌面的横坐标,top指定窗口左上角相对于桌面的纵坐标,location指定是否显示窗口的地址栏(默认为yes),menubar指定是否显示窗口的菜单栏(默认为yes),scrollbars指定是否显示窗口的滚动条(默认为yes),resizable指定是否允许用户改变窗口的尺寸(默认为yes),status指定是否显示窗口的状态栏(默认为yes),titlebar指定是否显示窗口的标题栏(默认为yes),除非调用程序是HTML应用程序或被信任的对话框,否则此参数将被忽略,toolbar指定是否显示窗口的工具条(默认为yes)。
replace:可选参数,false表示新打开的文档覆盖历史列表中的当前文档,true表示新打开的文档被简单的添加到历史列表的最后。