非IE浏览器如何响应ActiveX控件的事件?

daily1980 daily1980 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
客户端安装了: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函数。
望有这方面经验的大牛们,给予一定帮助!!!
...全文

相关推荐

评论 16
收藏 已收藏
分享
返回顶部
daily1980
ATL 3,248 成员 48,530 内容