非IE浏览器如何响应ActiveX控件的事件?
客户端安装了:ffactivex-setup-r39.exe
注册了基于MFC ActiveX的控件。
网页代码如下所示:
--------------------------------------------------------------------
function addEvent(element, type, handler) {
if (element.attachEvent) {
element.attachEvent('on'+type, handler);
}
else if (element.addEventListener) {
element.addEventListener(type, handler, false);
}
}
function onClose() {
alert('onClose');
}
function OnWindowLoad() {
try {
if (isIECore) {
jQuery('body').append('<object classid=\"clsid:D32FA94D-46C7-4948-863F-A8A79A47655C\" id=\"test\" width=\"200\" height=\"200\" style=\"display:\" ></object>');
}
else {
jQuery('body').append('<object clsid=\"{D32FA94D-46C7-4948-863F-A8A79A47655C}\" id=\"test\" width=\"200\" height=\"200\" type=\"application/x-itst-activex\" ></object>');
}
} catch (e) {}
addEvent('Colse', onClose);
}
--------------------------------------------------------------------
经测试,在IE内核的浏览器下,控件触发的‘Close’事件用响应,非IE内核的浏览器(谷歌、Firefox等)响应不了事件。
在网上查了一些资料,有的说谷歌等浏览器不支持ActiveX控件事件,有的说只能通过控件调用页面中的JS函数。
望有这方面经验的大牛们,给予一定帮助!!!