Dirección de descarga del control ActiveX
Eso no es un problema con IE, es una de las características de seguridad de IE.
Puedes ver la configuración de Activex realizando las siguientes operaciones
Abrir IE----》Herramientas------》Opciones de Internet----》Seguridad-- --》Aquí se establece el nivel personalizado.
Puedes habilitar la opción deshabilitada, pero la seguridad del ordenador puede verse reducida.
El control ActiveX se ejecuta en el cliente. Podemos obtener cierta información del cliente, como información de la tarjeta IC, verificación del cliente, etc. Sin embargo, los controles ActiveX también tienen muchas deficiencias: la implementación del cliente es difícil, por ejemplo, el cliente no se puede descargar correctamente, no se puede ejecutar correctamente después de la descarga y es necesario configurar el nivel de seguridad de IE al descargar, etc.
Más a menudo, uso componentes COM para ampliar las funciones de ASP. Para ser precisos, es el componente Activex Dll que se ejecuta en el lado del servidor. Utilice Server.CreateObject("Nombre del proyecto. Nombre de la clase") para completar la llamada al componente. Hay pocos problemas con este método, siempre y cuando el componente exponga el método como PÚBLICO. Sin embargo, en ocasiones debemos utilizar el control ACTIVEX (*.OCX) para incrustarlo en una página web y ejecutarlo para obtener información del cliente. Esto crea muchos, muchos problemas.
Estos son N problemas que debemos resolver (de simples a difíciles)
1. Cómo obtener datos del servidor y pasarlos al control ActiveX.
1) Usar enlace de parámetros durante la inicialización
2) Obtener datos durante el tiempo de ejecución
2. ¿Cómo obtiene el control ActiveX la información del cliente y la pasa al servidor?
3. Seguridad
1) Firma digital
2) Uso de la interfaz IOBJSAFE
Bien, comencemos a aprender con ejemplos.
Esta función demuestra cómo crear un control simple e incrustarlo en una página web para su ejecución.
Entorno de trabajo: WINXP VB6 IE6
Mi configuración de seguridad de IE es nivel de seguridad - medio. Todas las opciones de Activex están configuradas como habilitadas.
Abra vb6 y cree un nuevo proyecto de control ActiveX.
Nombre del proyecto: fOcx, nombre de control de usuario: UC1
Para mayor comodidad, utilizamos el asistente de interfaz de control ActiveX..., menú-gt add-in program-gt; -en el administrador de programas-gt; asistente de interfaz de control ActiveX de VB 6. DE ACUERDO.
Abra el Asistente de interfaz de control ActiveX, el siguiente paso, de manera predeterminada pasamos al siguiente paso para los nombres disponibles y los nombres seleccionados, creamos un nuevo miembro personalizado, tipo GetInfo: Propiedad, siguiente paso, ***Seleccione qué Acabamos de agregar GetInfo, seleccionar TxtInfo para asignarlo al control, seleccionar Texto para el miembro y el siguiente paso hasta completarlo.
Algunas cosas que no necesitamos se generarán en la ventana de código, las eliminaremos y el código restante es el siguiente:
Opción explícita
'¡Atención! ¡No elimines ni modifiques las siguientes líneas comentadas!
'MappingInfo=txtinfo, txtinfo, -1, Texto
Propiedad pública Obtener GetInfo() como cadena
GetInfo = txtinfo.Text
Propiedad final
Propiedad pública Let GetInfo(ByVal New_GetInfo As String)
txtinfo.Text() = New_GetInfo
PropertyChanged "GetInfo"
Propiedad final
'Cargar valores de propiedad desde el almacenamiento
Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
txtinfo.Text = PropBag.ReadProperty ( "GetInfo", "Text1")
End Sub
'Escribir valores de propiedad en la memoria
Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
Llamar a PropBag.WriteProperty("GetInfo", txtinfo.Text, "Text1")
End Sub
Vale, vale, lo compilamos en el archivo fOcx.ocx Luego, F5 se ejecuta directamente y VB abrirá una página de prueba. De la siguiente manera:
E:\Program Files\Microsoft Visual Studio\VB98\UC1.html
Al mismo tiempo, abra su navegador IE y vea, el control que realizó aparece en en esta página de prueba.
Puede abrir la página de prueba y ver el ClsID, por ejemplo: 890D1028-298B-45CF-9A64-6ED5A5BACBC9
Debido a que el registro se completó cuando se compila VB, el cliente no se puede simular. No aparece ningún mensaje cuando se instala el control.
Continuemos
Use regsvr32 F:\csdn_vb\com _activeX\sample1\fOcx.ocx –u para desinstalar<. /p>
O
Abra el registro, busque el elemento 890D1028-298B-45CF-9A64-6ED5A5BACBC9 en HKEY_CLASSES_ROOT\CLSID
y, por supuesto, elimínelo. De esta manera, todavía hay elementos que existen pero no se eliminan.
En este momento, busque http://yang/uc1.htm. Dado que ActiveX está configurado para iniciarse en IE, el control será. desplegado.
¿A dónde va el ocx descargado?
Abra este directorio (puede ser diferente) E:\WINDOWS.0\Downloaded Program Files, véalo, archivo fOcx.UC1 En este directorio
Principio: después de que el cliente descarga el control, se registra automáticamente y luego se coloca en el directorio anterior. En este momento, podemos abrir el registro y ver el CLSID. uno como antes.
Podemos hacer clic derecho y mirar las propiedades de fOcx.UC1 para ver el contenido relevante. Todos los archivos de los que depende el OCX se muestran aquí. Por lo tanto, su OCX debería intentarlo. minimice el uso de controles avanzados o controles de terceros. De lo contrario, habrá algunos problemas con la descarga.
Si la opción ActiveX en IE está desactivada, aparecerá un cuadro de diálogo en el navegador que dice ". La configuración de seguridad actual prohíbe ejecutar el control ActiveX en esta página. Por lo tanto, puede que no sea posible. "Mostrar la página correctamente", esto requiere otros métodos para manejarlo.
La mayoría de los usuarios desactivan la opción ActiveX de forma predeterminada, por lo que no es apropiado que los usuarios la configuren ellos mismos.