Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> isComponentInstalled, не работает 
:(
    Опции темы
solenko
Дата 21.2.2008, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: 9
Всего: 67



Нашел такй прекрастный метод isComponentInstalled Method, но почему-то он отказывается работать не только в моем скрипте, но даже и в примере от mycrosoft
Код

<HTML xmlns:IE>
<HEAD>
<STYLE>
@media all {
      IE\:clientCaps {behavior:url(#default#clientcaps)}
}
</STYLE>
</HEAD>

<BODY>
<IE:clientCaps ID="oClientCaps" />

<script>
    bMSvmAvailable = oClientCaps.isComponentInstalled("{08B0E5C0-4FCB-11CF-AAA5-00401C608500}",
    "ComponentID");
</SCRIPT>   

 :
</BODY>


A Runtime Error has occurred.
Line: 13
Error: Object doesn't support this property or method

И опять два главных вопроса -- кто виноват и что делать?
Можно ли заставить работать этот метод?
Можно ли каким-то другим способом определить устновлен ли конкретный ActiveX компонент?

P.S. Я тут, наверное уже всех достал со своим ActiveX...




--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
dstorm81
Дата 22.2.2008, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

Репутация: 20
Всего: 39



Код

<HTML xmlns:IE>
 <head>
  <title>VML test</title>
  <script language="JavaScript" type="text/javascript">
   var VMLsupport = false;
   var Flashsupport = false;   
  </script>
 </head>
 <body>
  <IE:CLIENTCAPS ID="oClientCaps" />
  <script language="JavaScript" type="text/javascript">
  <!--
    oClientCaps.style.behavior = "url(#default#clientCaps)";
    if( oClientCaps.isComponentInstalled( "{7790769C-0471-11D2-AF11-00C04FA35D02}", "ComponentID" ) )
      VMLsupport = true;
    if( oClientCaps.isComponentInstalled( "{D27CDB6E-AE6D-11CF-96B8-444553540000}", "ComponentID" ) )
      Flashsupport = true;
  //-->
  alert(VMLsupport+':'+Flashsupport)
  </script>
 </body>
</html>

http://www.javaportal.ru/javascript/examples/insvcom.html
в 7ке пашет


--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
Nigel
Дата 22.2.2008, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


познаю мир
**


Профиль
Группа: Участник
Сообщений: 515
Регистрация: 20.11.2007

Репутация: нет
Всего: 19



solenko, это решение только для ослика и в действительно не имеет смысла его использовать.
Проверку ActiveX можно осуществить в блоке try..catch
PM MAIL   Вверх
solenko
Дата 22.2.2008, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: 9
Всего: 67



Nigel, то что это решение (как, в принципе и сам ActiveX) только для IE я в курсе. Проверять через попытку создания не могу, т.к. создается объект "закрытым" для меня API.
В IE7 отработало, а в IE6 не хочет (рпавда он у меня сурогатный, проставленный уже поверх IE7). Может кто-то проверить в чистом IE6?


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
dstorm81
Дата 22.2.2008, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

Репутация: 20
Всего: 39



мой вышеуказанный пример отработал на 6-ке (чистой на сп2)
есть предположение почему не работает, могет быть потому что не ко все id ключам в осле доступ имеется, а только к определенным




--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
AKS
Дата 22.2.2008, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Участник форума
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 20.9.2006

Репутация: 27
Всего: 52



Цитата(solenko @  22.2.2008,  14:06 Найти цитируемый пост)
Может кто-то проверить в чистом IE6? 

Проверьте, вот так у Вас (в вашем "суррогате") будет результат:
Код

window.onload = function () {
   var d = document.createElement('div')
   d.addBehavior('#default#clientCaps');
   alert(d.javaEnabled);
};

?
А вообще, не совсем понятно, каким образом Вы надеетесь связать наличие определенных компонентов и настройки безопасности...
PM MAIL   Вверх
dstorm81
Дата 22.2.2008, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

Репутация: 20
Всего: 39



а можно напрямую через fso+wsh
залезть в реестр и посмотреть на наличие конкретного ключа в реестре
ведь насколько я понял этот ресурс интранетовскийи ресурс доверительный
вот такие мысли перед 23 февралём


--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
solenko
Дата 22.2.2008, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: 9
Всего: 67



AKS, выдает undefined.
А связывать не надеюсь. Настройки безопасности (прошлая тема), нужны для ActiveX в общем и показа просто сообщения.
А установка конкретного ActiveX и его версии -- своего тулбара для IE -- для выдачи предложения утановить/обновить и отключения некоторых функций сайта.

Подводя итог... Я так понял, можно расчитывать, что isComponentInstalled будет работать одинаково в IE7 и IE6 и тестить только в седьмом.

Добавлено через 1 минуту и 54 секунды
dstorm81, вы поняли неправильно -- это общедоступный сайт. Соотетственно, варианты с реестром неприемлимы


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0461 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.