Search
Write a publication
Pull to refresh

Подстановка ссылки для баннера из HTML-кода

Добрый день, хабрачитатели.

Заказчик задал мне задачку — как считать статистику по кликам на флеш баннеры, если все клиенты присылают баннеры с внедренной кнопкой и жестко вписаной в коде ссылкой. Приходится либо забивать на подсчет кликов, либо просить клиентов переделывать баннер и вставлять ссылку с переходом на скрипт подсчета. А если попался редкий толковый клиент — просить переделать баннер чтобы он брал ссылку из flashvars (т. е. из параметров, значения которых можно указать в HTML-коде).

Пытливый ум не мог оставить это без ответа. А ответ на поверхности — сделать флешку, которая бы загружала в себя баннер, а на него клала кнопку со ссылкой. И урл к баннеру, и ссылку передавать в тех же flashvars. Я не мог поверить что никто ничего подобного еще не сделал. Однако, погуглив на досуге, ничего похожего найти не удалось. Удивлен был настолько, что до сих пор думаю что плохо искал и где-то лежит нужная флешечка…
Итак, вспоминаю что когда-то давно писал на флеше приложения для видеочатов. Тогда это писалось еще в Macromedia Flash. Поискав, в чем же я могу сделать флешку и желательно под Ubuntu нашел Flex. Заодно расстроился что Flex Builder'а под линукс делать уже не будут. Если кто-то поделится каким-нибудь инструментом для флеша под линуксом — буду рад. Тем не менее, Flex SDK работает и на линуксе, так что, потратив полдня на воспоминания и изучение найденных примеров, получил как раз то, что мне было нужно.
В итоге получился достаточно короткий ActionScript-файлик, удачно компилирующийся в не менее мелкую флешку (1 378 байт). Все выложено на code.google.com — code.google.com/p/b-loader. Там же можно посмотреть примеры использования. Вариант с применением swfobject.js покажу прямо здесь:

<div id="id-of-container">Alternative content</div>
<script type="text/javascript">
swfobject.embedSWF("/path/to/bloader.swf", "id-of-container", "width-of-banner", "height-of-banner", "required-version-of-flash-player", "expressInstall.swf", {src: "/path/to/banner.sfw", href: "http://www.onclick.url"});
</script>


* This source code was highlighted with Source Code Highlighter.

На этом все. Надеюсь, это кому-нибудь пригодится, а опытных Flash/Flex-девелоперов попрошу оценить и указать на недочеты.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.