12 марта 2006

Встраиваем AJAX в IE

Есть у меня прожка, называется Get File Size: она встраивается в контекстное меню Internet Explorer, и при клике по ссылке на файл она показывает размер файла (всегда полезно знать, сколько этот файл весит ешё ДО скачивания). Мне стало интересно, а можно ли такое сделать без дополнительной проги. Сразу отвечу: немного пое... попариться - и всё получится.

Итак, берём молоток: статья "Как добавить свой пункт в контекстное меню IE", где доходчиво описано, как встроить что-то в контестное меню броузера ИЕ. Я добавил пункт "Размер файла", который появляется только при щелчке на ссылке правой кнопкой мыши. При щелчке по этому пункту меню вызывается прописанный в реестре URL, который возвращает хтмл с куском JavaScript'a, который в свою очередь вызывает РНР-скрипт, который в свою очередь лезет в интернет и по заголовкам требуемой ссылки определяет размер файла и вываливает это вот таким приятным сообщением:

Окно с размером удалённого файлаМожете попробовать всю эту красоту. Для этого надо скачать/запустить маленький reg-файл и перезапустить броузер.

Если кто-то хочет поковырять, как я это сделал, могут скачать всё решение в одном архиве.

Кстати, есть одна бага, которую я пока решать не буду: если в клацнутом УРЛе есть переменные, то они не будут учитываться. Решать эту проблему я не буду, потому что пользоваться этой штуковиной я буду только перед скачиванием прямых ссылок на файл, а там УРЛ-переменных чаще всего нет. Кто решит - пишите.

Кстати, почему я про AJAX упомянул. Надо ж было как-то передавать переменные из JavaScript в PHP, вот я стыбрил соответствующий кусок из AJAX-движка JsHttpRequest.

0 комментов:

Отправить комментарий