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 (в этом же окне). Потом импортируешь кнопку - и готово. В результате всех махинаций у тебя должна получиться примерно такая картинка. |