6

我有一个看起来像这样的活动 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控件加载到页面上的方法?

谢谢

4

1 回答 1

2

检查这一点:可以使用 javascript 将 ActiveX 控件附加到页面吗?

我不知道您使用的是什么 activex,但我可以建议一种通用方法:

  • 让activex加载到页面中。
  • 只是把它隐藏起来
  • 如果有启动/停止类型的控件,请在“div”隐藏/显示上使用它

这样,您将确保用户可以选择在页面加载期间允许 activex,并且可以在显示 div 元素时获取内容

于 2015-06-07T06:05:53.453 回答