Проблема при добавлении 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 не показывается, а на его месте непонятно что — какая-то странная область, которая как будто прозрачная, и если переключиться на другую вкладку с этой, то, потом вернувшись назад, можно увидеть на месте этого контрола то, что было на этом месте на предыдущей странице. Просто когда этот контрол не может загрузиться, потому что он не инсталлирован в системе, то на его месте бывает крестик, а тут непонятно что... Кто мне скажет, как это лечить?
Re: Проблема при добавлении ActiveX
От: XJess  
Дата: 02.09.09 08:51
Оценка:
Проблема все еще весьма актуальна!
Может, хоть кто-нибудь знает, как решать эту проблему.
Re: Проблема при добавлении ActiveX
От: Sinclair Россия https://github.com/evilguest/
Дата: 02.09.09 10:46
Оценка:
Здравствуйте, XJess, Вы писали:

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

1. Если кликнуть в эту "область", что происходит?
2. Удаётся ли выделить ее TABом? Что будет, если это сделать и нажать Space или Enter?
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: Проблема при добавлении ActiveX
От: XJess  
Дата: 02.09.09 12:17
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>1. Если кликнуть в эту "область", что происходит?


Если честно, то ничего не происходит.

S>2. Удаётся ли выделить ее TABом? Что будет, если это сделать и нажать Space или Enter?


Табом выделить не удается, но у меня не получается почему-то попасть табом не только на этот элемент, но и на те, что просто зашиты в страницу и нормально отображаются.
Re[3]: Проблема при добавлении ActiveX
От: Sinclair Россия https://github.com/evilguest/
Дата: 03.09.09 02:53
Оценка:
Здравствуйте, XJess, Вы писали:
XJ>Табом выделить не удается, но у меня не получается почему-то попасть табом не только на этот элемент, но и на те, что просто зашиты в страницу и нормально отображаются.
1. Попробуйте временно заменить этот ActiveX на заведомо рабочий — например, на Media Player.
2. Убедитесь, что проблема не связана с активацией внедрённого контента — см. http://msdn.microsoft.com/ru-ru/library/ms537508(VS.85).aspx#loading
3. Когда всё точно заработает, попробуйте снова со своим контролом.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: Проблема при добавлении ActiveX
От: Blob Беларусь  
Дата: 03.09.09 14:28
Оценка:
А если вместо appendChild-а попробовать создать этот объект через innerHTML ?
Ocx1TD.innerHTML = "<object classid=\"clsid:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\" id=Ocx1 width=270 height=106 codebase=\"ocx1.cab\"></object>
";


Так срабатывает?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.