Hablemos sobre el uso básico de la ventana. Showmodaldialog
showModalDialog () (es decir, 4+ soporte)
showModelessDialog () (es decir, 5+ soporte)
El método de Window.ShowModalDialog () se utiliza para crear un cuadro de diálogo modular que muestre el contenido HTML.
El método de Window.ShowModeScelessDialog () se utiliza para crear un cuadro de diálogo no modal que muestre contenido HTML.
Cómo usar:
vreturnValue = window.showModaldialog (Surl [, varGuments] [, sfeatures]))
vreturnValue = window.showModeSceldialog (Surl [, varguments] [, sfeatures]))))
Descripción del parámetro:
Parámetros de encogimiento de sobresalto, tipo: cadena. URL utilizada para especificar el documento que se mostrará en el cuadro de diálogo.
Parámetro opcional de VarGuments, Tipo: Variante. Se usa para pasar parámetros al cuadro de diálogo. El tipo de parámetro pasado por no es limitado, incluida la matriz, etc. El cuadro de diálogo obtiene parámetros pasados a través de la ventana. Dialogargumentos.
Sfeatures-optional parámetro, tipo: cadena. Utilizado para describir la apariencia y otra información del cuadro de diálogo, puede usar uno o más a continuación y usar el segmento ";"
1. Diálogo: la altura del cuadro de diálogo, no menos de 100px, diálogo y el ancho de diálogo en IE4 son EM, e IE5 es PX, que es conveniente para el cuadro de diálogo modal.
2. Dialogwidth: cuadro de diálogo Ancho.
3.dialogleft: distancia desde la izquierda de la pantalla.
4. Diálogo: distancia desde la pantalla.
5. Center: {Sí |
6.Help: {SÍ |
7. RESIZACIÓN: {Sí | El no.
8.status: {sí | El valor predeterminado es sí [modso] o no [modal].
9.scroll: {Sí | El valor predeterminado es sí.
Los siguientes atributos se utilizan en HTA y generalmente no se usan en páginas web generales.
10. Dialoghide: {Sí | El valor predeterminado es no.
11.Edge: {Hunken | El valor predeterminado es el aumento.
12.Manedorned: {Sí |
Transmisión de parámetros:
1. Si desea pasar los parámetros en el cuadro de diálogo, puede pasar a través de VarGuments. El tipo no es limitado. También puede pasar el objeto, como:
Copiar código del código de la siguiente manera:
<script>
var obj = nuevo objeto ();
obj.name = "ttop";
Window.ShowModalDialog ("test.htm", obj, "dialogwidth = 200px; dialogHeight = 100px");
</script>
test.htm
<script>
var obj = window.dialogarguments
Alerta ("Los parámetros que pases son:" + obj.name)
</script>
2. Puede devolver la información a la ventana que abre el cuadro de diálogo a través de la ventana. Por ejemplo:
Copiar código del código de la siguiente manera:
<script>
Str = window.showModalDialog ("test.htm", "dialogwidth = 200px; dialogHeight = 100px");
alerta (str);
</script>
test.htm
<script>
Window.ReturnValue = "/";
</script>
1. ¿Cuál es la diferencia entre ShowModaldialog y ShowModeSelessdialog?
ShowModaldialog: Después de abrir, siempre mantendrá el enfoque de entrada. A menos que el cuadro de diálogo esté cerrado, los usuarios no pueden cambiar a la ventana principal. Similar al efecto de operación de la alerta.
ShowModeSceldialog: después de abrir, los usuarios pueden cambiar aleatoriamente el enfoque de entrada. No tiene impacto en la ventana principal (a lo sumo está bloqueado.: P)
En segundo lugar, ¿cómo podemos dejar que aparezca una nueva ventana en ShowModaldialog y ShowModelessdialog?
Agregar <base Target = "_ Seld"> a las páginas web abiertas. Esta oración generalmente se coloca entre <html> y <body>.
¿Cómo actualizar el contenido en ShowModaldialog y ShowModelessdialog?
En ShowModaldialog y ShowModelessdialog, F5 no se puede actualizar y el menú no puede aparecer. Esto solo puede confiar en JavaScript.
<Body OnKeydown = "if (event.keyCode == 116) {Reload.click ()}">
<A id = "reload" href = "filename.htm" style = "Display: Ninguno"> Recargar ... </a>
Reemplace FileName.htm con el nombre de la página web y colóquelo en la página web que abrió.
Cuarto, cómo cerrar la ventana de ShowModaldialog (o ShowModeScelessDialog) con JavaScript.
<input type = "button" value = "Close" onClick = "window.close ()">
También coopere con <Base Target = "_ Seld">, de lo contrario, abrirá una nueva ventana IE y luego la apagará.
5. ShowModaldialog y ShowModeScelessDialog Técnicas de transmisión de datos.
(Palabras del autor: Originalmente quería escribirlo en una pregunta y respuesta, pero no podía pensar en esto, así que tuve que hacer esto).
Esta cosa es más problemática.
Ejemplo: ahora necesita leer o establecer una variable var_name
Método de transmisión general:
Window.ShowModalDialog ("FileName.htm", var_name)
// transferir variables var_name
Al leer y establecer en ShowModaldialAng (o ShowModeScelessDialog) ::
alerta (Window.DialogarGuments) // lee la variable var_name
Window.dialogarguments = "oyiboy" // establecer var_name variable
Este método puede estar satisfecho, pero ¿cuándo desea operar VAR_NAME y luego operar el segundo cambio VAR_ID al mismo tiempo? Ya no podrá operar. Estas son las limitaciones de este método de transmisión.
La siguiente es la forma en que recomiendo usarlo:
Window.ShowModaldialog ("FileName.htm", ventana)
// No importa qué variables se operen, solo el objeto de la ventana de la ventana principal se transmite directamente
Al leer y establecer en ShowModaldialAng (o ShowModeScelessDialog) ::
alert (window.dialogarguments.var_name) // lee la variable var_name
Window.dialogarguments.var_name = "oyiboy" // establecer var_name variable
Al mismo tiempo, también puedo operar la variable var_id
alert (window.dialogarguments.var_id) // lee la variable var_id
Window.dialogarguments.var_id = "001" // set var_id variable
También puede operar cualquier objeto de la ventana principal, como los elementos en el objeto de formulario.
Window.dialogarguments.form1.index1.value = "Este es el valor del elemento index1"
En la página principal, use onClight = "" "varite = window.showModalog ('ChangePhoto.htm', 'Dialogwidth: 500px; dialogHeight: 300px; ayuda: no'); if (typ eof (reval)! = 'No definido' ' ) {Form.TextName.Value = reval;} "style =" "cursor: manual"> Haga clic aquí para modificar la imagen
Abra un conjunto de marco en la ventana de Word 'ChangePhoto.htm'.
ChangePhoto.htm: <input type = button onClick = "onClose ();"
Función onClose () {Window.ReturnValue = form1.save.value;
archivo ASP: parent.document.form1.save.value = "valor o varios";