audio в HTML 5 или особенность проигрывания аудио на сайте под iPad’ом

Программирование

Tagged Under : , , ,

Задача: реализовать воспроизведение mp3 на сайте под iPad и iPhone.

Решение. Самое простое, что приходит в голову: использовать преимущества html 5 и тег audio. Различные найденные примеры: раз, два, три и др., — указывают ряд функций для управления воспроизведением, таким образом воспроизведение определённого файла через javascript по приведённым примерам выглядит приблизительно следующим образом:

<audio id="htmlplayer"></audio>
function play()
{
    var player = document.getElementById("htmlplayer");
    player.src = 'аудио файл';
    player.play();
}

Данный код вполне себе хорошо отрабатывает в хроме, но не работает под iPad: ошибок не возникает, но мелодия не воспроизводится. Если же в тег добавить панель управления через атрибут controls и попробовать воспроизвести файл вручную, то тот будет проигрываться.

Как оказалось я сделал упущение поверив большинству примеров и функция воспроизведения должна иметь следующий вид:

function play()
{
    var player = document.getElementById("htmlplayer");
    player.src = 'аудио файл';
    player.load();
    player.play();
}

Вызов функции load — ключевой момент в проигрывании файлов, в том случае, когда мы меняем значение атрибута src, т.е. меняем файл, который необходимо воспроизвести.

Ссылки:

Evercookie: делаем библиотеку для ASP.NET

Программирование, Проекты

Tagged Under : , , ,

Появилась необходимость реализовать механизм анонимной оценки статей, записей и т.п., который бы, по возможности, максимально блокировал вторичное выставление оценки: либо предотвращал вторичное оценивание либо менял предыдущую оценку.

Использовать решил evercookie («неубиваемые» куки), поэтому эта запись станет своеобразным продолжением предыдущей с исправлением ошибок.
Читать дальше »

JCarouselLite: фиксим вертикальный автоскроллинг

Программирование

Tagged Under : , ,

Симптомы: при установке вертикального скроллинга в режим auto, некоторые элементы карусели начинают «проскакивать»: перемещаться быстрее заданного. Браузеры: IE8, Firefox 3.6.13
Решение: в файл jcarousellite.js (у меня версия 1.0.1) делаем следующую правку приведённого ниже фрагмента:

running = true;
ul.animate(
animCss == "left" ? { left: -(curr * liSize)} : { top: -(curr * liSize) }, o.speed, o.easing,
function () {
    if (o.afterEnd)
        o.afterEnd.call(this, vis());
        //running = false; - эту строку меняем на нижнюю
        setTimeout(function () { running = false; }, 1);
    }
);

После такой вот правки всё должно заработать.

JCarouselLite: проблема с размером элементов при вертикальной прокрутке

Программирование

Tagged Under : ,

Данная проблема наблюдалась по крайней мере у меня в IE8: у li-шек изменилась ширина (в Firefox’е они занимали всю область div’а, а в IE уменьшились по длине и появился нежелательный отступ).

Проблему решал также как и в прошлый раз: открыл jcaroucellite.js и добавил следующую проверку:

li.css({width: li.width(), height: li.height()}); //вот это заменил на

if(!o.vertical)
    li.css({width: li.width()});
else
        li.css({height: li.height()});

У решения простой смысл: скрипт будет выставлять рассчитанную ширину и высоту только в том случае, когда скролл зависит от этой величины, т.е. если скроллим горизонтально, то скрипт будет автоматом выставлять ширину, если вертикально — высоту.

Evercookies: модифицируем неубиваемые куки для ASP.NET

Программирование

Tagged Under : , , ,

Собственно, по поводу evercookies пишут многое: у кого-то работает у кого-то нет. Лично у меня всё нормально работает и информация в куках хранится и не сбрасывается. А значит почему не использовать?
Правда тут появляется ряд трудностей:

  • исходники нужных серверных страниц (png и etag’и) на php
  • необходимость ввести ряд правок в evercookie.js (например, разрешить загружать evercookie.swf с другого домен, на тот случай если есть CDN; отключить CSS History Knocker – 190 запросов к гуглу слишком много: сначала страница зависла, потом firefox вылетел); подправить пару функций для использования asp.net-страниц или хендлера

Решать проблемы будем по порядку →

Тиражирование html-кода

Программирование

Tagged Under : , , , ,

Итак, что же такое тиражирование и как оно осуществляется?
Читать дальше »

SWFObject is not defined или проблема при тиражировании flash

Программирование

Tagged Under : , , ,

И как всегда начну с предпосылки. Случилось мне столкнуться с необходимостью отображения определённого блока информации с одного сайта на другом – тиражировании. В качестве решения сайт, запрашивающий контрол содержал слеюущий код:

<script type="text/javascript" src="адрес_сайта_с_которого_забираем_нужный _блок?параметр=значение"></script>

И всё бы ничего, если бы не одна досадная вещь: блок содержащий флеш не отображался.
Читать дальше »

JavaScript и Flash в веб-проектах: так ли это удобно пользователю?

Программирование

Tagged Under : , , ,

До недавнего времени я таким вопросом и не задавался вовсе, считая, что использование JavaScript и, есстественно, Ajax делают сайт более удобным и привлекательным для пользователя. Думал я так пока не потребовалось ввести подобную функциональность в один коммерческий веб-проект. Читать дальше »