Проблема при добавлении ActiveX
От: XJess  
Дата: 01.09.09 14:21
Оценка:
Привет всем!
На HTML-странице есть наш ActiveX (мы сами писали). При загрузке страницы по идее сначала должна показываться другая часть страницы, а потом уже (если все проверки пройдены успешно), должен показываться этот ActiveX (это некий контрол, кстати). Но при загрузке страницы в IE из-за этого контрола (из-за того, что в нем есть атрибут codebase), вылезает окно в Explorer, которое, получается, ни к селу, ни к городу, потому что сначала должны показываться другие надписи, к которым это окно отношения не имеет. Так вот, я убрала из кода тэг <object> и пыталась добавить его динамически в тот момент, когда нужно показать этот ActiveX (вернее, немного раньше, а потом уже делала его видимым) -когда все проверки пройдены успешно. Делала я следующее...

Как было (это все внутри таблицы):

<td id="Ocx1TD" width="270" colspan="4" rowspan="5">
    <object classid="clsid:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" id="Ocx1" width="270" height="106" codebase="ocx1.cab"></object>
</td>


Как я теперь сделала (это все происходит в методе OnLoad):

var obj;
var ocxcell = document.getElementById("Ocx1TD");
obj = document.createElement("OBJECT");
obj.classid = "clsid:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
obj.id = "Ocx1";
obj.width = 270;
obj.height = 106;
obj.codebase = "ocx1.cab";
ocxcell .appendChild(obj);



Так вот, ActiveX в результате этих действий почему-то в IE не показывается, а на его месте непонятно что — какая-то странная область, которая как будто прозрачная, и если переключиться на другую вкладку с этой, то, потом вернувшись назад, можно увидеть на месте этого контрола то, что было на этом месте на предыдущей странице. Просто когда этот контрол не может загрузиться, потому что он не инсталлирован в системе, то на его месте бывает крестик, а тут непонятно что... Кто мне скажет, как это лечить?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.