Показать сообщение отдельно
  #1 (permalink)  
Старый 17.10.2012, 17:46
Новичок на форуме
Отправить личное сообщение для vikodin Посмотреть профиль Найти все сообщения от vikodin
 
Регистрация: 17.10.2012
Сообщений: 3

не отображается динамический ActiveX
есть объект ActiveX, отображающий потоковое видео.
если я его добавляю статически в код страницы для IE, то видео воспроизводится.
Код объекта
Код:
<OBJECT id='dccsATT' type='application/x-oleobject' height=600 
width=600 classid='CLSID:971FC730-55F1-461f-83FD-B3BF5E1F039E' codebase='AVC_AX_742.cab#version=1,1,2,6'>
<PARAM NAME="Action" VALUE="LiveOpen">
<PARAM NAME="Username" VALUE="*****">
<PARAM NAME="Password" VALUE="*****">
<PARAM NAME="MediaType" VALUE="DEFAULT">
<PARAM NAME="UserId" VALUE="0">
<PARAM NAME="_IPAddress" VALUE="*******">
<PARAM NAME="_Port" VALUE="80">
<PARAM NAME="_Detection" VALUE="2">
<PARAM NAME="DefaultChannel" VALUE="0">
</OBJECT>
Когда добавляю его вот так
Код:
<head>
<title></title>
    <script type="text/javascript">
function OnPageLoad(){
    ActiveX = document.createElement('OBJECT');
    ActiveX.id ='dccsATT1';
    ActiveX.setAttribute('type','application/x-oleobject');
    ActiveX.setAttribute('width',600);
    ActiveX.setAttribute('height',600);
    ActiveX.setAttribute('classid','CLSID:971FC730-55F1-461f-83FD-B3BF5E1F039E');
    ActiveX.codebase = 'AVC_AX_742.cab#version=1,1,2,6';
    par = document.createElement('PARAM');
    par.name='UserId'; par.value='0';
    ActiveX.appendChild(par);
    par = document.createElement('PARAM');
    par.name='_Port'; par.value='80';
    ActiveX.appendChild(par);
    par = document.createElement('PARAM');
    par.name='_Detection'; par.value='2';
    ActiveX.appendChild(par);
    par = document.createElement('PARAM');
    par.name='DefaultChannel'; par.value='0';
    ActiveX.appendChild(par);
     par = document.createElement('PARAM');
    par.name='NTSC_Video'; par.value='0';
    ActiveX.appendChild(par);
    par = document.createElement('PARAM');
    par.name='Action'; par.value='LiveOpen';
    ActiveX.appendChild(par);
    par = document.createElement('PARAM');
    par.name='Username'; par.value='*****';
    ActiveX.appendChild(par);
    par = document.createElement('PARAM');
    par.name='Password'; par.value='*****';
    ActiveX.appendChild(par);
    par = document.createElement('PARAM');
    par.name='_IPAddress'; par.value='*****';
    ActiveX.appendChild(par);
    par = document.createElement('PARAM');
    par.name='MediaType'; par.value='DEFAULT';
    ActiveX.appendChild(par);
    </script>
</head>
<body onload="OnPageLoad()" style="overflow: auto;">
<div id="div_Body" class="div_Body">
</div>
</body>
</html>
то на странице отображается только рамка объекта с крестиком в левом верхнем углу, видео не воспроизводится. в DOM объект добавляется.
При просмотре DebugBar разница между статическим и динамическим объектами состоит в строке
codebase=AVC_AX_742.cab#version=1,1,2,6 - для статического и
codebase="AVC_AX_742.cab#version=1,1,2,6" - для динамического.
Возникают вопросы:
1) может codebase нужно как-то иначе указывать
2) или ActiveX нужно как-то "запустить" после загрузки страницы
3) или он вообще динамически по-другому создается и добавляется.

Поиск пока особо не помог.
Спасибо всем кто сможет прояснить ситуацию.
Ответить с цитированием