<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns:MSHelp=http://msdn.microsoft.com/msHelp>
<HEAD>
<TITLE>showModelessDialog Method</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=iso-8859-1">
<META NAME="AUTHOR" CONTENT="InetSDK">
<META NAME="MS.LOCALE" CONTENT="EN-US">
<META NAME="ROBOTS" CONTENT="noindex">
<SCRIPT>
function fnRandom(iModifier){
return parseInt(Math.random()*iModifier);
}
function fnSetValues(){
var iHeight=oForm.oHeight.options[oForm.oHeight.selectedIndex].text;
if(iHeight.indexOf("Random")>-1){
iHeight=fnRandom(document.body.clientHeight);
}
var iWidth=oForm.oWidth.options[oForm.oWidth.selectedIndex].text;
if(iWidth.indexOf("Random")>-1){
iWidth=fnRandom(document.body.clientWidth);
}
var iTop=oForm.oTop.options[oForm.oTop.selectedIndex].text;
if(iTop.indexOf("Random")>-1){
iTop=fnRandom(screen.height);
}
var iLeft=oForm.oLeft.options[oForm.oLeft.selectedIndex].text;
if(iLeft.indexOf("Random")>-1){
iLeft=fnRandom(screen.width);
}
    var sEdge=oForm.oEdge.options[oForm.oEdge.selectedIndex].text;
var bCenter=oForm.oCenter.options[oForm.oCenter.selectedIndex].text;
var bHelp=oForm.oHelp.options[oForm.oHelp.selectedIndex].text;
var bResize=oForm.oResize.options[oForm.oResize.selectedIndex].text;
var bStatus=oForm.oStatus.options[oForm.oStatus.selectedIndex].text;

var sFeatures="dialogHeight: " + iHeight + "px; dialogWidth: " + iWidth + "px; dialogTop: " + iTop + "px; dialogLeft: " + iLeft + "px; edge: " + sEdge + "; center: " + bCenter + "; help: " + bHelp + "; resizable: " + bResize + "; status: " + bStatus + ";";

return sFeatures;
}
function fnOpen(){
/* The  method constructor looks like:
showModelessDialog(
sURL="The page that is opened"
sArguments="Extra values or object references"
sFeatures="features of the window";

)
*/
var sFeatures=fnSetValues();
oFeatures.innerHTML='window.showModelessDialog("SMLD_target.htm","' + oForm.oArguments.value + '","' + sFeatures + '");';
window.showModelessDialog("SMLD_target.htm", oForm.oArguments.value, sFeatures)
}
</SCRIPT><!-- SAMPLE_STYLE_START -->
<LINK REL="stylesheet" HREF="/workshop/basicSDKIE4.css" 
TYPE="text/css">
<!-- SAMPLE_STYLE_END -->
<LINK REL="stylesheet" TYPE="text/css" HREF="ms-help://Hx/HxRuntime/HxLink.css"><STYLE TYPE="text/css">
PRE.clsCode { font-size:110%; } 
PRE.clsSyntax { font-size:100%; }  
TD DIV.clsBeta { display:none;}
  MSHelp\:link {
    color:#0000ff;
    text-decoration:underline;
    cursor:hand;
    hoverColor:#3366ff;
    filterString: ;}
</STYLE>
</HEAD>
<!--TOOLBAR_START-->
<!--TOOLBAR_EXEMPT-->
<!--TOOLBAR_END--><BODY TOPMARGIN=0 LEFTMARGIN=0 BGPROPERTIES="FIXED" BGCOLOR="#FFFFFF" 
LINK="#000000" VLINK="#808080" ALINK="#000000">
<BLOCKQUOTE CLASS="body"><H1>showModelessDialog Method</H1>
<P>This sample demonstrates the use of the <b>showModelessDialog</b> method.  Select the possible values for the supported parameters to adjust how the modeless dialog box is displayed.  Click the Push To Create button to open the modeless dialog box based upon the selected values. 
The method syntax used to open the window is displayed at the bottom of the page when the dialog box is opened.</P><FORM NAME="oForm">
<FIELDSET><LEGEND><b>showModelessDialog Method Options</b></LEGEND>
<TABLE>
<TR><TD><LABEL FOR=dHeight>Dialog Box Height (Integer)</LABEL></TD><TD><SELECT ID="dHeight" NAME=oHeight><OPTION>-- Random --<OPTION>150<OPTION>200<OPTION>250<OPTION>300<OPTION>400<OPTION>500</SELECT></TD></TR>
<TR><TD><LABEL FOR=dWidth>Dialog Box Width (Integer)</LABEL></TD><TD><SELECT ID="dWidth" NAME=oWidth><OPTION>-- Random --<OPTION>150<OPTION>200<OPTION>250<OPTION>300<OPTION>400<OPTION>500</SELECT></TD></TR>
<TR><TD><LABEL FOR=dTop>Dialog Box Top (Integer)</LABEL></TD><TD><SELECT ID="dTop" NAME=oTop><OPTION>-- Random --<OPTION>150<OPTION>200<OPTION>250<OPTION>300<OPTION>400<OPTION>500<OPTION></SELECT></TD></TR>
<TR><TD><LABEL FOR=dLeft>Dialog Box Left (Integer)</LABEL></TD><TD><SELECT ID="dLeft" NAME=oLeft><OPTION>-- Random --<OPTION>150<OPTION>200<OPTION>250<OPTION>300<OPTION>400<OPTION>500<OPTION></SELECT></TD></TR>
<TR><TD><LABEL FOR=dCenter>Dialog Box Center (Boolean / TOP and LEFT must be set to an empty value [last option])</LABEL></TD><TD><SELECT ID="dCenter" NAME=oCenter><OPTION>Yes<OPTION>No</SELECT></TD></TR>
<TR><TD><LABEL FOR=dEdge>Dialog Box Edge (String)</LABEL></TD><TD><SELECT ID="dEdge" NAME=oEdge><OPTION>Raised<OPTION>Sunken</SELECT></TD></TR>
<TR><TD><LABEL FOR=dHelp>Dialog Box Help (Boolean)</LABEL></TD><TD><SELECT ID="dHelp" NAME=oHelp><OPTION>Yes<OPTION>No</SELECT></TD></TR>
<TR><TD><LABEL FOR=dResize>Dialog Box Resizable (Boolean)</LABEL></TD><TD><SELECT ID="dResize" NAME=oResize><OPTION>Yes<OPTION>No</SELECT></TD></TR>
<TR><TD><LABEL FOR=dStatus>Dialog Box Status (Boolean)</LABEL></TD><TD><SELECT ID="dStatus" NAME=oStatus><OPTION>Yes<OPTION>No</SELECT></TD></TR>
<TR><TD><LABEL FOR=dArguments>Dialog Box Arguments (Text or object reference)</LABEL></TD><TD><INPUT TYPE=text NAME=oArguments ID="dArguments" VALUE="Dialog Arguments Value"></TD></TR>
<TR><TD><LABEL FOR=dCommand>Create Modeless Dialog Box</LABEL></TD><TD><INPUT ID="dCommand" NAME=oCommand TYPE=button VALUE="Push To Create" onclick="fnOpen()"></TD></TR>
<TR><TD><b>Method Syntax Used:</b></TD><TD ID=oFeatures></TD></TR>
</TABLE>
</FORM><!-- START_PAGE_FOOTER -->
<BR><BR><BR>
<MSHelp:link xmlns:MSHelp="http://msdn.microsoft.com/mshelp" keywords="msdn_copyright" TABINDEX="0">&copy; 2003 Microsoft Corporation. All rights reserved.</MSHelp:link>.
<!-- END_PAGE_FOOTER -->
</BLOCKQUOTE>
</BODY>
</HTML>

解决方案 »

  1.   

    我想我是没有说清楚,是先检查有没有小窗口存在,没有就弹出来,有就不要弹了。并且存在的话,电击或者对父窗体任何操作时,焦点都会到小窗口上。明白点就是在网页中打开FTP时的那种情况!
    谢谢!
      

  2.   

    保存下面文件,其他的条件楼主自行调试/************保存为p1.html*************8/
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    <meta http-equiv="content-type" content="text/html" charset="utf-8">
    <link rel="stylesheet" type="text/css" href="">
    <script type="text/javascript" src=""></script>
    <script>
    var vDialog=null;
    function rdl_doDialog(){
    vDialog=showModalDialog("./p2.html",window,"status:no;resizable:yes;dialogHeight:210px;dialogWidth:360px;unadorne:yes");
    if (vDialog != null) vDialog.idDialogInput.value=idOpenerInput.value;
    }
    </script>
    </HEAD><BODY>
    <input type=text id="idOpenerInput" value="传递的文字"><br/><br/>
    <input type="button" onclick="idOpenerInput.style.background='#33FF00';this.style.background='red';rdl_doDialog();" value="建立对话框"></BODY>
    </HTML>
    /************保存为p2.html*************8/<script>
    function window.onunload() {
    dialogArguments.vDialog=null;
    }
    </script>
    </HEAD><BODY>
    <input type=text id="idDialogInput"><br><br>
    <input type=button onclick="dialogArguments.idOpenerInput.value=idDialogInput.value;" value="传递文字">
    <input type=button onclick="window.close();" value="关闭" align="center">
    </BODY>
    </HTML>
      

  3.   

    哈哈,给分了,谢谢各位了。
    谢谢lantersen了
    全给你啦。