我有一个事件的 X 控件,看起来像这样:
<object id="activeX" height="100%" width="100%" classid="myClass" >
<param name="name" value="myControlName" />
<param name="details" value="interestingDetails" />
<param name="a" value="a" />
<param name="b" value="b" />
</object>
我不想让这个 html 出现在我的页面上,而是想使用 jquery 小部件动态插入它。
我可以这样做:
myObject.id = "activeX";
myObject.height = "100%";
myObject.width = "100%";
myObject.classid = "myClass";
var param1 = document.createElement('param');
param1.setAttribute('name', 'name');
param1.setAttribute('value', 'myControlName');
myObject.appendChild(param1);
var param2 = document.createElement('param');
param2.setAttribute('name', 'details');
param2.setAttribute('value', 'interestingDetails');
myObject.appendChild(param2);
var param3 = document.createElement('param');
param3.setAttribute('name', 'a');
param3.setAttribute('value', 'a');
myObject.appendChild(param3);
var param4 = document.createElement('param');
param4.setAttribute('name', 'b');
param4.setAttribute('value', 'b');
myObject.appendChild(param4);
然后将该对象附加到我页面上的某些内容。
或者我可以简单地将 html 附加到我的页面,例如:
$('#div').append('<object id="activeX" height="100%" width="100%" classid="myClass" >')
.append('<param name="name" value="myControlName" />')
.append('<param name="details" value="interestingDetails" />')
.append('<param name="a" value="a" />')
.append('<param name="b" value="b" />')
.append('</object>');
这些都不起作用。当我尝试使用上述两种方法之一调用刚刚加载到页面上的事件 X 控件时,我得到对象不存在。
调用事件的 X 对象,当我直接编写我的 HTML 作品时。但不是当我从一个小部件加载这个对象时。
--有谁知道使用 jquery 小部件将 activeX 控件加载到页面上的方法吗?
谢谢
最佳答案
检查这个:Possible to append a ActiveX control to a page using javascript?
我不知道您使用的是什么 activex,但我可以建议一种通用方法:
- 让页面中的 activex 加载。
- 把它藏起来
- 如果有启动/停止类控件,请在“div”隐藏/显示上使用它
这样,您将确保用户可以选择在页面加载期间允许 activex,并且可以在显示 div 元素时获取内容
关于javascript - 使用查询小部件将 ActiveX 控件动态加载到页面上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12430377/