Вопрос. Проверка возможности создать объект.
Снова здравствуйте! После начала полноценного изучения javascript появился новый вопрос, как можно проверить наличие определенного ActiveX приложения и возможность создания объекта для этого приложения, при помощи JS.
Например, проверить наличие DJVU-Reader при заходе на страницу: если плагин присутствует, то DJVU-Файл отображается прямо в браузере, в противном случае выводит сообщение, что необходима данная программа для просмотра. Если можно, покажите код, осуществляющий это, на примере какого-нибудь приложения. Заранее спасибо за ответы и извените если не тот раздел. |
Если плагин есть, файл откроется, если нет -- предложит сохранить. Зачем тут еще какая-то обработка?
|
ну, во первых ActiveX есть только в осле.
в других браузерах, как не старайся, его не будет. во вторых, просто оберните необходимую вам конструкцию в try-catch |
Чтобы не было этого предложения сохранить, например:
if(плаги есть) { document.write("<embed src=book.djvu width=500 height=550></embed>"); } else { document.write("Для просмотра содержимого необходим DJVU-Reader, скачать можно здесь(URL)"); } |
Цитата:
|
загуглите.
материал есть даже тут на сайте в статьях |
Спасибо большое, вроде оно, если кто-то еще сталкнется с подобным вопросом: 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 нету, но есть плагины и так же появляется предложение скачать файл, если плагин не может его отобразить, как можно решить задачу? |
Точнее так:
<OBJECT classid='clsid:...' ... id='mainVideo'> <script> try{mainVideo.eval();}catch(err){ alert(err.description); } </script> очень актуально для адекватного отображения страницы, если файл ActiveX надо сначала загрузить. Тогда на время пока с сервера будет тянуться cab можно показывать вместо него картинку-заглушку. |
Часовой пояс GMT +3, время: 08:47. |