2009-07-15 4 views
3

У меня есть следующее объявление в моем коде:Преобразовать <object /> декларацию яваскрипта ActiveXObject

<object id="myObject" name="myObject" 
    data="data:application/x-oleobject;base64,ab9qcMENN0WE41oij7hs8764yu+YEwAA2BMABB==" 
    classid="clsid:83A04F76-85DF-4f36-A94E-BA3465007CDA" viewastext 
    codebase="someAssembly.dll#version=UNKNOWN"> 
</object> 

Я хочу, чтобы создать экземпляр этого же объекта, но внутри .js файла, и поэтому я хотел бы построить этот объект без необходимости использовать тег (если это вообще возможно):

var myObject = new ActiveXObject(*Something goes here*); 

ответ

-2

Вы можете получить доступ к «оБЪЕКТ», просто назвав его своим идентификатором. Например:

<object id="myObject" name="myObject" 
    data="data:application/x-oleobject;base64,ab9qcMENN0WE41oij7hs8764yu+YEwAA2BMABB==" 
    classid="clsid:83A04F76-85DF-4f36-A94E-BA3465007CDA" viewastext 
    codebase="someAssembly.dll#version=UNKNOWN"> 
</object> 

Теперь я могу получить доступ к нему следующим образом:

myObject.userText = "hello!"; 

Где "userText" является свойством этого объекта.

Я надеюсь, что это ответит на ваш вопрос.

+0

Разве Microsoft не исправила ошибку «Глобальные объекты JS для каждого элемента с идентификатором»? – Quentin

+3

Ваш ответ не затрагивает вопрос вообще BTW. – Quentin

+0

Боюсь, что да. Недавно я реализовал элемент управления ActiveX, который является компонентом вместо элемента управления, и я сделал тот же вызов с помощью значения атрибута OBEJCT id. И это работает для меня. –

2

Это способ создания нового экземпляра:

var newObj = new ActiveXObject(servername.typename[, location]); 

Как вы можете видеть, есть дополнительный параметр location, который можно использовать для доступа к удаленным объектам ActiveX, но прочитать подробности об этом здесь: MSDN ActiveXObject (вас 'll найти некоторую информацию в конце документа).

 Смежные вопросы

  • Нет связанных вопросов^_^