Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #28, МАРТ 2003 г.

Folder.htt - Скрытые возможности

Квер (qwertyrar@nm.ru)

Спецвыпуск Xakep, номер #028, стр. 028-098-3


МЫ ПОЙДЕМ ДРУГИМ ПУТЕМ

Автоматическое проигрывание - это хорошо, но не всегда нужно, да и притормаживает работу системы к тому же. Давай лучше напишем скрипт, который будет проверять расширение файла и в зависимости от этого выводить на левую панель тематический флеш-мувик. Mp3-шке у нас будет соответствовать мувик с колбасящимся под музыку Клявиным (мифическим героем таджиков), а avi-шке - порнушный мультик в стиле xiaoxiao (исходя из соображения, что если видео - значит, порнуха :)). Как сделать мувики во флеше, я подробно рассказывать не буду - все более менее понятно из скриншотов.

Итак, swf-ки готовы и лежат в папке "folder settings". Ищи строку, где определяется расширение файла (ext = GetFileExtension(item.Path);) и сразу после нее пиши следующее:

if (ext=='avi')

{

Preview.innerHTML = '<p>' +

'<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="150" height="150">' +

'<param name=movie value="file:///C|/Подопытная папка-2/Folder settings/porevo.swf">' +

'<param name=quality value=high>' +

'</object>';

}

Путь к флешкам, естественно, ставь свой, а параметры мувика - по вкусу. Чтобы не мучиться с прописыванием флеш-объекта, просто опубликуй его в отдельный html-документ, скопируй код и вставь его в текст нашего файла. А можно открыть folder.htt в Macromedia Dreamweaver'e и, особенно не напрягаясь, импортировать туда флешку (честно говоря, я так и делал). Точно таким же образом зарегистрируй и второй мувик. Теперь ищи тела функций IsMovieFile(ext) и IsSoundFile(ext), где удали из списков расширений соответственно расширения avi и mp3. Для всех остальных типов файлов будет по-прежнему работать дефолтный ActiveX.

Идентификацией файла по расширению занимается функция GetFileExtension(name), которая ищет в имени файла последнюю точку и присваивает текстовой переменной ext строку, стоящую после этой точки. По аналогии с этой процедурой можно написать свои функции обработки имени, чтобы выполнять определенные действия в зависимости, например, от длины или первой буквы имени файла. Или вообще автоматически переименовывать файлы с нецензурными названиями :).

ЛИНКИ

Ну и, наконец, давай добавим в нашу папку несколько ссылочек. Допустим, в корни всех доступных дисков. Иди в раздел <body> и прописывай линки. Сделать это можно двумя способами: вставить обычный гипертекст или импортировать флеш-ролик, состоящий из одной кнопки (ссылка программируется средствами Flash).

Последний вариант мне нравится больше. Флеш-кнопку можно анимировать (в html тоже, конечно, можно создать ролловер, но это долго, нудно и эффект не тот). Кстати, в свойствах кнопки можно указать, будут ли ссылки открываться в одном и том же или в отдельном окне. Просто в опциях процедуры getURL() выбираешь опцию Window: _blank (в новом окне) или Window: _self (в этом же окне). Потом импортируешь кнопку - и готово. В результате всех махинаций у тебя должна получиться примерно такая картинка.

Назад на стр. 028-098-2  Содержание  Вперед на стр. 028-098-4