SwfObject - контрол для вставки Flash
Сего дня написал контрол для удобной вставки flash в страницу. Назначение контрола - оформление дизайна сайта или инкапсуляция в других контролах. Новый сонтрол не решает проблемы публикации пользователем Flash объектов через редактор.
Класс Imin.Web.UI.SwfObject
Класс является оболочкой для скрипта swfobject.js http://code.google.com/p/swfobject/
Как контрол этот класс генерирует простой div, если указан url картинки, то с картинкой внутри, если нет, то генерируется ссылка на установку FlashPlayer. Сделано это для того, чтобы страница корректно отображалась даже при отсутствующем проигрывателе и выключеных скрипта.
Напоминаю, что все классы пространства Imin.Web.UI можно использовать в HTML-части страниц и .master-файлов.
Пример использования в aspx-странице:
<ui:SwfObject ID="swf1" runat="server" Width="320" Height="240" SwfPath="/App_Themes/miassmed.e-miass.ru/futer.swf" ImgPath="/App_Themes/miassmed.e-miass.ru/futer.png" />
Обратите внимание. Ключевыми являются параметры:
- Width и Height - хоть это и стандартные параметры, но именно при помощи них задается ширина и высота объекта Flash.
- SwfPath - путь к флешке, то есть это должен быть правильный URL по которому отдается нужный нам swf-файл
- ImgPath - путь к замещающей картинке. Эта картинка будет показываться если у пользователя отключены скрипты или не установлен плеер.
Для корректной работы этого кода необходимо в начале страницы привязать префикс ui к пространству имен Imin.Web.UI. Делается это таким образом:
<%@ Register TagPrefix="ui" Namespace="Imin.Web.UI" Assembly="Imin.Web.Core" %>
Использование класса в коде, как инкапсулированного, не отличается от использования каких-либо других контролов:
SwfObject flash = new SwfObject(); flash.Height = new Unit(222, UnitType.Pixel); flash.Width = new Unit(730, UnitType.Pixel); flash.Style.Add("overflow", "hidden"); flash.SwfPath = "http://miassmed.e-miass.ru/file:145"; flash.ImgPath = "/App_Themes/default/noimage.jpg"; Controls.Add(flash);
To do лист
- передача параметров в объект flash;
- выбор минимальной требуемой версии FlashPlayer (требуется ли?)
- прочее...
Если появится в чем-то необходимость (касательно данного класса) то пишите в комментариях.