我有一个页面需要能够通过 JavaScript 调用 ActiveX 控件的安装。我尝试了一些以 DOM 为中心的方法,但都没有成功。如果已经安装了 ActiveX,我可以加载它,但我似乎无法安装 CAB。使用直接的 HTML,安装工作,黄条和所有。
这是能够加载 ActiveX 的代码。它使用 jQuery 1.4.2。host 是对页面上可见 div 元素的引用。如果加载了 ActiveX,则结果为真,否则为假(我不知道它是否适用于所有 ActiveX 控件,但它适用于我公司开发的控件)。
var attributes = {
id: "ax",
classid: "clsid:" + drv.clsid,
codebase: install ? drv.cab : undefined,
width: 0,
height: 0
};
try {
axSelector = $("<object></object>", attributes);
host.append(axSelector);
} catch (e) {
return false;
}
ax = axSelector[0];
var result = ax && ax["Enabled"] !== undefined && ax["Enabled"] !== null;
axSelector.remove();