Вопрос

Мы с моим коллегой столкнулись с неприятной ситуацией, когда нам приходится использовать активный элемент управления X для управления веб-камерой на странице.

Можно ли назначить обработчик событий javascript кнопке в активном элементе управления x, чтобы она запускала действие на странице при нажатии, или мы должны создать кнопку на самой html-странице, которая манипулирует активным элементом управления X, а затем может запускать любые необходимые действия на странице?

Это было полезно?

Решение

Пожалуйста просто используйте существующий элемент управления ActiveX.Как Вспышка или Сильверлайт.Flash имеет встроенную поддержку веб-камеры и управляется с помощью JavaScript.Silverlight не имеет встроенной поддержки камеры, но его интеграция с JavaScript просто фантастическая.

Если вы должны написать свой собственный, то не волнуйтесь, заставить его взаимодействовать с JavaScript тривиально.Вам просто нужно разоблачить IDispatch интерфейс.

Для участия в мероприятиях вам необходимо узнать о Точки подключения.

Другие советы

Да!Вы можете создавать события на C ++ / ActiveX, что заставляет код JavaScript запускать функцию обработчика событий.Я даже смог создать полностью невидимый элемент управления ActiveX (того же цвета, что и фон страницы) без кнопок или визуальной обратной связи, который выполнял всю работу с графическим интерфейсом через JavaScript и CSS.

Редактировать:Совет Фрэнка в самый раз. Вот ссылка на события создания сценариев.

Моя стратегия состояла в том, чтобы вызвать функцию C ++ MyUpdate (которая реализует IConnectionPoint), когда я хотел принудительно обновить браузер.

(Кроме того, я позаботился о том, чтобы передавать сообщения Windows в метод Fire_MyUpdate, потому что иногда код JavaScript вызывал обратный вызов на C ++, вызывая методы в элементе управления ActiveX;это позволяет избежать зависания браузера и гарантирует, что графический интерфейс JavaScript остается отзывчивым, напримердля кнопки Отмены.)

На стороне браузера код JavaScript содержит глобальную переменную, ссылающуюся на объект, за которой следует "::", а затем имя метода:

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
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top