Pregunta

Mi compañero de trabajo y yo nos encontramos con una situación desagradable en la que tenemos que usar un control X activo para manipular una cámara web en una página.

¿Es posible asignar un controlador de eventos de JavaScript a un botón en el control x activo para que active una acción en la página al hacer clic, o tenemos que crear un botón en la página html que manipule el control Active X y Entonces, ¿puedes realizar alguna acción necesaria en la página?

¿Fue útil?

Solución

Por favor simplemente use un control ActiveX existente.Como Flash o Silverlight.Flash tiene soporte para cámara web incorporado y se puede controlar mediante JavaScript.Silverlight no tiene soporte para cámara incorporado, pero su integración de JavaScript es fantástica.

Si debes escribir el tuyo propio, no te preocupes, es trivial lograr que interactúe con JavaScript.Sólo tienes que exponer el IDispatch interfaz.

Para eventos, necesita aprender sobre Puntos de conexión.

Otros consejos

¡Sí!Puede lanzar eventos en C++/ActiveX, lo que hace que el código JavaScript ejecute una función de controlador de eventos.Incluso pude crear un control ActiveX completamente invisible (del mismo color que el fondo de la página) sin botones ni comentarios visuales que hacía que toda su GUI funcionara a través de JavaScript y CSS.

editar:El consejo de Frank es acertado. Aquí está el enlace sobre eventos de secuencias de comandos.

Mi estrategia fue llamar a una función de C++ llamada MyUpdate (que implementa IConnectionPoint) cuando quería forzar actualizaciones en el navegador.

(Además, me aseguré de enviar mensajes de Windows en el método Fire_MyUpdate porque a veces el código JavaScript volvía a llamar a C++ llamando a métodos en el control ActiveX;esto evita congelar el navegador y garantiza que la GUI de JavaScript siga respondiendo, p.para un botón Cancelar.)

En el lado del navegador, el código JavaScript tiene la variable global que hace referencia al objeto, seguida de "::", seguida del nombre del método:

function Uploader::MyUpdate()
{
    // ... code to fetch the current state of various
    // properties from the Uploader object and do something with it
    // for example check Uploader.IsActive and show or hide an HTML div
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top