题
我和我的同事遇到了一个令人讨厌的情况,我们必须使用 Active X 控件来操作页面上的网络摄像头。
是否可以将 JavaScript 事件处理程序分配给 Active X 控件中的按钮,以便在单击时在页面上触发操作,或者我们是否必须在 html 页面本身上创建一个按钮来操作 Active X 控件并那么可以在页面上触发任何必要的操作吗?
其他提示
是的!您可以在 C++/ActiveX 领域中抛出事件,这使得 JavaScript 代码运行事件处理函数。我什至能够制作一个完整的不可见 ActiveX 控件(与页面背景颜色相同),没有按钮或视觉反馈,通过 JavaScript 和 CSS 完成其所有 GUI 工作。
编辑:弗兰克的建议是正确的。 这是有关脚本事件的链接。
当我想在浏览器中强制更新时,我的策略是调用一个名为 MyUpdate(它实现 IConnectionPoint)的 C++ 函数。
(此外,我确保在 Fire_MyUpdate 方法中注入 Windows 消息,因为有时 JavaScript 代码会通过调用 ActiveX 控件上的方法回调到 C++ 区域;这可以避免浏览器冻结并确保 JavaScript GUI 保持响应能力,例如用于取消按钮。)
在浏览器端,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
}
不隶属于 StackOverflow