这在某种程度上是对这里答案的后续行动.
我有一个自定义ActiveX控件,它引发了一个事件(带有"msg"参数的"ReceiveMessage"),需要在Web浏览器中由Javascript处理.从历史上看,我们已经能够使用以下仅IE语法在不同项目上实现此目的:
function MyControl::ReceiveMessage(msg)
{
alert(msg);
}
Run Code Online (Sandbox Code Playgroud)
但是,当在掩埋控件的布局内部时,Javascript无法找到控件.具体来说,如果我们把它放到一个普通的HTML页面,它工作正常,但如果我们将它放入由<Form>标签包装的ASPX页面,我们会得到一个"MyControl is undefined"错误.我们尝试过以下变体:
var GetControl = document.getElementById("MyControl");
function GetControl::ReceiveMessage(msg)
{
alert(msg);
}
Run Code Online (Sandbox Code Playgroud)
...但它会导致Javascript错误"GetControl未定义".
处理从ActiveX控件发送的事件的正确方法是什么?现在我们只对在IE中工作感兴趣.这必须是我们正在做的自定义ActiveX控件.
谢谢.
我看到了这段代码,我正在试图决定它是如何工作的.
<SCRIPT LANGUAGE=javascript>
function SpeechMikeControl::SPMEventButton(lDeviceID, EventId) {
alert("lDeviceID=" + lDeviceID + ", EventId=" + EventId);
}
</SCRIPT>
Run Code Online (Sandbox Code Playgroud)
双结肠?这是从网页上使用飞利浦语音麦克风.
知道这个双冒号是什么意思吗?对我来说这似乎是一个语法错误,但它确实有效!(至少在IE中).