使用嵌套对象标记在一个页面中添加ActiveX和NPAPI插件

时间:2010-10-10 11:28:56

标签: javascript html firefox activex npapi

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

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

我希望我能说清楚。

3 个答案:

答案 0 :(得分:1)

嗯,你不应该这样做。相反,给对象赋予相同的“类”值,让你的Javascript寻找它。

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

答案 1 :(得分: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进行处理,或者用它来实例化你认为合适的另一个对象。

答案 2 :(得分:0)

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

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

此处有更多信息:http://msdn.microsoft.com/en-us/library/aa751976(VS.85).aspx