2

我想使用嵌套对象标签(Mozilla 推荐)在一个页面中嵌入 ActiveX 和 NPAPI 插件,而不是依赖用户代理。

问题是:我想使用一个对象 id,例如 id="MyObject",它将在两个对象标记(对于 ActiveX 或 NPAPI)中定义,以便我的 Javascript 直接调用对象 MyObject,而不管它是否是ActiveX 或 NPAPI。

我希望我说清楚了。

4

3 回答 3

1

好吧,你不应该那样做。相反,为对象赋予相同的“类”值,并让您的 Javascript 进行查找。

“id”属性的值必须是唯一的。

于 2010-10-10T11:49:03.293 回答
1

getElementsByClassName 对我不起作用,所以我做了一个简单的技巧,效果很好。

<object classid="clsid:something" id="obj1" >
<object type="application/x-blah-blah-blah" id="obj2">
</object></object>

然后在我一开始调用的 JavaScript 代码中:

if (obj2!=null && obj2!=undefined)

或者如果你想要if (!(obj2==null || obj2==undefined))任何你喜欢的

obj1 = getElementById("obj2");

这将为 NPAPI 插件创建对象,或者如果浏览器是 IE,则无需输入该 if 语句即可顺利进行(IE 不允许您使用 getElementById 分配给具有 id 属性的对象)。然后,您只需使用 obj1 进行处理或使用它来实例化您认为合适的另一个对象。

于 2010-10-11T21:15:24.650 回答
0

实际上,您可以为 activex 控件注册一个 mime 类型,如果它是您的,那么您就可以对两者使用相同的对象标记。

FireBreath (http://firebreath.org) 就是这样做的。

更多信息在这里:http: //msdn.microsoft.com/en-us/library/aa751976 (VS.85).aspx

于 2010-10-26T15:15:24.343 回答