| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Открытие/Сохранение файлов |
| Автор: Innuendo 25.1.2006, 18:04 |
| Я тут видел DDT писал в топике одном, что можно открыть файлы средствами ActiveX в ЯваСкрипт. А можно ли так сохранять/открывать файлы не на винтчестере, а на сервере где находится страница. И можно ли как-то сделать, чтоб нажав на ссылку открылось какое-то приложение? то есть в папке с документам есть файл install.exe, и мне нужно чтоб при нажатии на ссылку этот файл открылся (хотя бы чтоб работал на локалке, а не на сервере). И вообще какие есть возможности ActiveX в Яваскрипт, и где можно про это почитать? Заранее спасибо |
| Автор: Ciber SLasH 25.1.2006, 19:35 |
| С помощью JS можно работать с любым ActiveX-ом, хоть с само-писным. Тока всё это будет работать ессесно на локальной машине, и то, если разрешить выполнение ActiveX. Если хочешь узнать о стандартных объектах ActiveX, то можешь: 1) скачать справочник по JS в моей подписи 2) читать MSDN в разделах:
ЗЫ: а вообще лучше купить диски MSDN на толкучке и не париться с поиском на их тормознутом msdn.com'e. Там всё есть по части того, что умеет IE и не только... |
| Автор: Ciber SLasH 25.1.2006, 20:21 |
| угу |
| Автор: Sardar 25.1.2006, 21:41 | ||||||
| Ещё твой ActiveX должен быть зарегистрирован и по моему добавлен в "белый" список, иначе окошк "да/нет" будет появляться при каждом открытии документа (и это правильно).
Откртыть - значит скачать, XMLHttpRequest в помощь. Записать можно либо имея софт на сервере, что тебя будет слушать, либо сервер должен поддерживать HTTP PUT метод или WebDAV. В первом случае возможно ещё получиться с XMLHttpRequest или отправкой формы методом put, второе без спец клиента (ActiveX) по моему не реально. Для пользователей мозиллы можно написать привилигированный плагин/приложение, что будет работать на прямую с сокетами. Возни много, но за то любой протокол реализовать можно.
Сам подумай о последствиях, отсюда делай выводы
к JS это всё не имеет никакого отношения ActiveX полноценные приложения (компоненты), могут что угодно, поэтому и заслужили "не хорошую" славу в народе. |
| Автор: Innuendo 25.1.2006, 22:42 | ||
не особо понял.. работает на всех браузерах? и нужно ли чтоб юзер что-то предварительно устанавливал.. или можно так подготовить что у юзера скрипт с activex будет работать без подготовки? |
| Автор: Ciber SLasH 26.1.2006, 00:19 | ||||||
Для локальных скриптов есть тако REG-патчик, который открывает скрытую возможность IE. После импортирования REG-файла в "Свойствах обозревателя" на вкладке "Безопасность" появится новая зона "Мой компьютер". Она уже будет настроена для благополучной работы ActiveX для скриптов на локальном компьютере. А также будет поставлена галочка "Разрешать запуск активного содержимого файлов на моём компьютере" на вкладке "Дополнительно" в разделе "Безопасность". Зона "Мой компьютер" — это стандартная зона, но по умолчанию она скрыта (непонятна стратегия MS, получается на локальные скрипты по умолчанию стоит "высокое" ограничение безопасности, в то время как на "Интернет" зону стоит "среднее" ограничение). WinXP patch.reg
Компонент ActiveX — это, если я не ошибаюсь, OCX-файлы (или DLL). Т.е. они построены на COM-технологии. Следовательно для того, чтобы их юзать — нужно зарегистрировать компонент в системе. Регистрируется просто: regsvr32 <имя ActiveX-компонента> Соответственно, чтобы написать свой компонент — нуно на каком-нить языке (Delphi, C++, Asm, etc.) написать модуль на COM-технологии. |
| Автор: Innuendo 26.1.2006, 16:18 |
| ну вот я попробовал пару примеров из мануала.. ничего не идёт.. выдаёт: Ошибка: ActiveXObject is not defined |
| Автор: Ciber SLasH 26.1.2006, 21:33 |
| Innuendo, ты же вроде не новичёк, а задаёшь глупые вопросы... Откуда мы знаем что ты там пробовал? Нужен код, того что ты пробовал... Иначе стандартный ответ: ошибка 17 строке. |
| Автор: Innuendo 26.1.2006, 22:42 |
| вопрос глупый, понимаю.... но просто проблема в том, что стандартные примеры из твоего манула у меня не работают.. и я поискал и другие примеры... он застревает на создания объекта. Ошибка: ActiveXObject is not defined |
| Автор: Ciber SLasH 27.1.2006, 02:48 | ||||
| ActiveX (IE-only, после выполнення REG-файла, в посте выше): Запуск прог: test.htm (из браузера):
test.js (двойным кликом на файле):
|
| Автор: Innuendo 27.1.2006, 15:11 |
| ааа. а у меня мозилла просто а в мозилле никак? |
| Автор: Ciber SLasH 27.1.2006, 15:19 |
| Нет ЗЫ: у меня тоже Фокс, а также Опера. |