<HEAD>
<HTML>
<HEAD>
<TITLE>showModelessDialogEX.htm</TITLE>
<SCRIPT>
var sUserName="";              
/*------------------------------------------------------------
Supplying the window object as a parameter allows for declaring the global 
variable, sUserName, and using it to return information from the modeless 
dialog box.
------------------------------------------------------------- */
function fnCallDialog()                                             
{
 showModelessDialog("myDialog.htm",window,"status:false;dialogWidth:300px;dialogHeight:300px");
}
/*-------------------------------------------------------------
The fnUpdate function takes the value passed into sUserName in myDialog.htm 
to update the span text on this page. This function is called in both 
fnGetInfo and fnCancel functions in myDialog.htm.
-------------------------------------------------------------*/
function fnUpdate()
{
  oName.innerText = sUserName;
}
</SCRIPT>
</HEAD>
<BODY>
<P>Enter your first name: <SPAN ID="oName" 
STYLE="color:red;font-size:24">Joan</SPAN></P> <INPUT TYPE="button" 
VALUE="Display Modeless Dialog" onclick="fnCallDialog()">
</BODY>
</HTML>

解决方案 »

  1.   

    语法:
    vReturnValue = window . showModelessDialog ( sURL , vArguments , sFeatures ) 
    参数:
    sURL   必选项。字符串(String)。指定要载入和显示的 URL 。 
    vArguments   可选项。指定供显示文档时使用的变量。利用这个参数可以传递任何类型的值,包括包含多个值得的数组。对话框可以通过调用程序从 window 对象的 dialogArguments 属性提取这些值。  
    sFeatures   可选项。字符串(String)。指定对话框的窗口装饰。使用下面的值。多个之间用分号隔开。 dialogHeight : sHeight   设置对话框的高度。 
    dialogLeft : sXPos   设置对话框左上角相对于桌面的横坐标。 
    dialogTop : sYPos   设置对话框左上角相对于桌面的纵坐标。  
    dialogWidth : sWidth   设置对话框的宽度。 
    center : yes | no | 1 | 0 | on | off   指定对话框是否显示于桌面正中。默认值为 yes 。 
    dialogHide : yes | no| 1 | 0 | on | off   指定当打印或打印预览时对话框是否隐藏。仅仅当对话框是由被信任的程式打开的时候此参数才可用。默认值为 no 。 
    edge : sunken | raised   指定对话框窗口边框样式为凹下还是凸起的。默认值为 raised 。 
    help : yes | no | 1 | 0 | on | off   指定对话框是否显示上下文相关的帮助图标。默认值为 yes 。 
    resizable : yes | no | 1 | 0 | on | off   指定对话框是否可以被用户改变尺寸。默认值为 no 。 
    scroll : yes | no | 1 | 0 | on | off   指定对话框是否显示滚动条。默认值为 yes 。 
    status : yes | no | 1 | 0 | on | off   指定对话框是否显示状态条。对于不被信任的对话框默认值为 yes 。对于被信任的对话框默认值为 no 。 
    unadorned : yes | no | 1 | 0 | on | off   指定对话框是否显示 chrome 样式边框。仅仅当对话框是由被信任的程式打开的时候此参数才可用。默认值为 no 。 
     返回值:
    vReturnValue   返回用于脚本方法的对此对话框( window )对象的引用。 说明:
    建立无模式对话框显示指定的文档。
    在用户切换输入焦点时,无模式对话框依然会被显示。
    此方法对于菜单和帮助系统来说是有用的。当你调用此方法,对话框会被叠放显示在浏览器窗口或HTML应用程式( HTA )前面。
    因为无模式对话框能够包含链接指向不同域名下的资源,请不要使用 vArguments 参数传递用户可能认为私有的信息。在模式对话框内部 vArguments 参数可以被模式对话框使用 window 对象的 dialogArguments 属性提取和使用。假如 vArguments 参数被定义为字符串(String),其可以被传递到无模式对话框的最大长度为 4096 个字符。超出的会被截去。
    按照惯例,无模式对话框能够区别于程序窗口在于它们没有滚动条,状态条,或者不可被用户改变尺寸。要建立这样的对话框,执行如下步骤:
    1、关闭滚动条。指定对话框中的文档的 body 对象的 scroll 属性值为 no 。
    2、关闭状态条。在 sFeatures 参数里指定 status 值为 no 。第二种可能是从可信任的程式里调用对话框,如 Microsoft&reg; Visual Basic 或 HTML应用程式( HTA ),或从被信任的窗口,如可信任的对话框。他们是可信任的因为他们使用 Microsoft&reg; Internet Explorer 作为浏览器接口。对于从被信任的源发生的对话框而言,滚动条默认的是被隐藏的。
    3、不可被用户改变尺寸。这是默认的。
    建立此方法的返回值,在调用此方法时设置 vArguments 参数为一个回调函数或者一个对象。在无模式对话框中,你可以通过 window 对象的 dialogArguments 属性提取这个函数或者对象。对于无模式对话框和模式对话框来说,同样的参数使用都是正确的。
    你可以用和使用样式表同样的方法设置默认的字体设置。例如: "font:3; font-size:4" 。
    使用多种字体属性,你可以定义多种字体值。
    你可以通过指定 dialogLeft 或 dialogTop 的值来取消对话框显示的居中。即使 center 默认值为 yes 。
    在 Internet Explorer 4.0 中, dialogHeight 和 dialogWidth 的缺省单位为 em ,而在 Internet Explorer 5.0 及以上版本中默认单位为 px 。其值可以是整数(Integer)或浮点数(Floating-point number)。因为绝对长度单位(cm, mm, in, pt, pc, px)和相对长度单位(em , ex)的差别, 要想保证预期的显示结果,在设计时应使用 px 单位。
    倘若对话框是可以被改变尺寸的,虽然用户的手动改变可以达到更小的值,但是设计时你可以指定的 dialogHeight 的最小值为 100px 。 
      

  2.   

    语法:
    vReturnValue = window . showModalDialog ( sURL , vArguments , sFeatures ) 
    参数:
    sURL   必选项。字符串(String)。指定要载入和显示的 URL 。 
    vArguments   可选项。指定供显示文档时使用的变量。利用这个参数可以传递任何类型的值,包括包含多个值得的数组。对话框可以通过调用程序从 window 对象的 dialogArguments 属性提取这些值。  
    sFeatures   可选项。字符串(String)。指定对话框的窗口装饰。使用下面的值。多个之间用分号隔开。 dialogHeight : sHeight   设置对话框的高度。 
    dialogLeft : sXPos   设置对话框左上角相对于桌面的横坐标。 
    dialogTop : sYPos   设置对话框左上角相对于桌面的纵坐标。  
    dialogWidth : sWidth   设置对话框的宽度。 
    center : yes | no | 1 | 0 | on | off   指定对话框是否显示于桌面正中。默认值为 yes 。 
    dialogHide : yes | no| 1 | 0 | on | off   指定当打印或打印预览时对话框是否隐藏。仅仅当对话框是由被信任的程式打开的时候此参数才可用。默认值为 no 。 
    edge : sunken | raised   指定对话框窗口边框样式为凹下还是凸起的。默认值为 raised 。 
    help : yes | no | 1 | 0 | on | off   指定对话框是否显示上下文相关的帮助图标。默认值为 yes 。 
    resizable : yes | no | 1 | 0 | on | off   指定对话框是否可以被用户改变尺寸。默认值为 no 。 
    scroll : yes | no | 1 | 0 | on | off   指定对话框是否显示滚动条。默认值为 yes 。 
    status : yes | no | 1 | 0 | on | off   指定对话框是否显示状态条。对于不被信任的对话框默认值为 yes 。对于被信任的对话框默认值为 no 。 
    unadorned : yes | no | 1 | 0 | on | off   指定对话框是否显示 chrome 样式边框。仅仅当对话框是由被信任的程式打开的时候此参数才可用。默认值为 no 。 
     返回值:
    vReturnValue:返回等同于打开的对话框窗口( window )的 returnValue 属性值的值。 
    说明:
    建立模式对话框显示指定的文档。
    模式对话框被打开后就会始终保持输入焦点。除非对话框被关闭,否则用户无法切换窗口。
    因为无模式对话框能够包含链接指向不同域名下的资源,请不要使用 vArguments 参数传递用户可能认为私有的信息。在模式对话框内部 vArguments 参数可以被模式对话框使用 window 对象的 dialogArguments 属性提取和使用。假如 vArguments 参数被定义为字符串(String),其可以被传递到无模式对话框的最大长度为 4096 个字符。超出的会被截去。
    在 IE4+ 中,你可以禁止对话框窗口的滚动条。要关闭滚动条,可以设置对话框窗口内文档的 body 对象的 SCROLL 属性值为 false ,或是从可信任的程式里调用对话框。
    在 IE5+ 中,你可以通过使用 sFeatures 参数中的 status 和 resizable 值控制模式对话框。你可以用和使用样式表同样的方法设置默认的字体设置。例如: "font:3; font-size:4" 。
    使用多种字体属性,你可以定义多种字体值。
    在 Internet Explorer 4.0 中, dialogHeight 和 dialogWidth 的缺省单位为 em ,而在 Internet Explorer 5.0 及以上版本中默认单位为 px 。其值可以是整数(Integer)或浮点数(Floating-point number)。因为绝对长度单位(cm, mm, in, pt, pc, px)和相对长度单位(em , ex)的差别, 要想保证预期的显示结果,在设计时应使用 px 单位。
    倘若对话框是可以被改变尺寸的,虽然用户的手动改变可以达到更小的值,但是设计时你可以指定的 dialogHeight 的最小值为 100px 。你可以通过指定 dialogLeft 或 dialogTop 的值来取消对话框显示的居中。即使 center 默认值为 yes 。