我想使用嵌套对象标记(如Mozilla所推荐)在一个页面中嵌入ActiveX和NPAPI插件,而不是依赖于用户代理。
问题是:我想使用一个对象id,例如id =“MyObject”,它将在两个对象标签中定义(对于ActiveX或NPAPI),以便我的Javascript直接调用对象MyObject,而不管是否它是一个ActiveX或NPAPI。
我希望我能说清楚。
答案 0 :(得分:1)
“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