Добавьте плагин ActiveX и NPAPI на одной странице, используя тег вложенных объектов - PullRequest
2 голосов
/ 10 октября 2010

Я хочу встроить плагины ActiveX и NPAPI на одну страницу, используя вложенные теги объектов (как рекомендовано Mozilla), вместо того, чтобы полагаться на пользовательский агент.

Проблема заключается в следующем: я хочу использовать один идентификатор объекта, например id = "MyObject", который будет определен в обоих тегах объекта (для ActiveX или NPAPI), чтобы мой Javascript вызывал объект MyObject напрямую.независимо от того, является ли это ActiveX или NPAPI.

Надеюсь, я ясно дал понять.

Ответы [ 3 ]

1 голос
/ 12 октября 2010

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 для своей обработки или используете его для создания экземпляра другого объекта по своему усмотрению.

1 голос
/ 10 октября 2010

Ну, ты не должен этого делать. Вместо этого присвойте объектам одно и то же значение «class», и ваш Javascript будет искать это.

Значения атрибутов "id" должны быть уникальными.

0 голосов
/ 26 октября 2010

На самом деле вы можете зарегистрировать тип MIME для элемента управления ActiveX, если он ваш, что позволит вам использовать одинаковый объектный тег для обоих.

FireBreath (http://firebreath.org)делает это.

Больше информации здесь: http://msdn.microsoft.com/en-us/library/aa751976(VS.85).aspx

...