Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Вопрос. Проверка возможности создать объект. (https://javascript.ru/forum/events/3176-vopros-proverka-vozmozhnosti-sozdat-obekt.html)

Blondink0 24.03.2009 19:36

Вопрос. Проверка возможности создать объект.
 
Снова здравствуйте! После начала полноценного изучения javascript появился новый вопрос, как можно проверить наличие определенного ActiveX приложения и возможность создания объекта для этого приложения, при помощи JS.
Например, проверить наличие DJVU-Reader при заходе на страницу: если плагин присутствует, то DJVU-Файл отображается прямо в браузере, в противном случае выводит сообщение, что необходима данная программа для просмотра.
Если можно, покажите код, осуществляющий это, на примере какого-нибудь приложения.
Заранее спасибо за ответы и извените если не тот раздел.

Kolyaj 24.03.2009 19:49

Если плагин есть, файл откроется, если нет -- предложит сохранить. Зачем тут еще какая-то обработка?

Gvozd 24.03.2009 19:50

ну, во первых ActiveX есть только в осле.
в других браузерах, как не старайся, его не будет.
во вторых, просто оберните необходимую вам конструкцию в try-catch

Blondink0 24.03.2009 19:52

Чтобы не было этого предложения сохранить, например:
if(плаги есть) {
document.write("<embed src=book.djvu width=500 height=550></embed>");
}
else {
document.write("Для просмотра содержимого необходим DJVU-Reader, скачать можно здесь(URL)");
}

Blondink0 24.03.2009 19:54

Цитата:

во вторых, просто оберните необходимую вам конструкцию в try-catch
Если есть пример или ссылка на материал, поделитесь плз

Gvozd 24.03.2009 19:57

загуглите.
материал есть даже тут на сайте в статьях

Blondink0 24.03.2009 20:03

Спасибо большое, вроде оно, если кто-то еще сталкнется с подобным вопросом: http://www.citforum.ru/internet/javascript/try.shtml
Получается код будет примерно следующий?
<object id=text classid=111-111-111-111></object>
<script>
try{text.eval(abc);}catch{document.write("error");}
</script>


И еще, если не сложно, скажите, как быть с FireFox, там ведь поддержки ActiveX нету, но есть плагины и так же появляется предложение скачать файл, если плагин не может его отобразить, как можно решить задачу?

al_mt 07.09.2011 13:54

Точнее так:

<OBJECT classid='clsid:...'
...
id='mainVideo'>
<script>
try{mainVideo.eval();}catch(err){
alert(err.description);
}
</script>

очень актуально для адекватного отображения страницы, если файл ActiveX надо сначала загрузить. Тогда на время пока с сервера будет тянуться cab можно показывать вместо него картинку-заглушку.


Часовой пояс GMT +3, время: 08:47.