Музыка без обрывов на сайте при переходе между страницами

Всем доброго времени суток.
Было дано ТЗ: сопроводить сайт фоновой музыкой на всех страницах, чтобы она не обрывалась при кликах.

Варианты: Новый тег audio из HTML 5
Использовать скрипт.
Первый вариант приводил к обрывам: кликаешь на новую страницу и музыка начинается заново. Нет единства.
Со вторым вариантом было сложнее. Сам лично java script я не особо знаю, поэтому использовал готовый скрипт, который находился простым путем гугления. Но музыка все равно обрывалась.

Вопрос уже очевиден: Как сделать необрывающийся фоновый звук? Какие идеи? Возможно ли это?
Если кто-то с таким сталкивался, то прошу поделиться информацией и ресурсами.
На флеш сайтах принцип работы понятен, а вот с html не понимаю принципа действия.

Заранее благодарю всех, кто как-либо прокомменирует ситуацию.
  • Вопрос задан
  • 15987 просмотров
Пригласить эксперта
Ответы на вопрос 9
ShpuntiK
@ShpuntiK
Недавно реализовывал такое. Понадобится ajax (можно jquery, можно чистый js) и history api (тут я только чистый js использовал).

Вкратце алгоритм такой: пользователь нажимает переход на др страницу сайта, событие ловится и через ajax отдаётся на сервер, там скрипт отдаст код страницы, на которую надо перейти. History api должно изменить адрес в адресной строке браузера, ну и если пользователь будет надимать кнопку назад, то и на неё повесить событие (про это всё хорошо расписано в статье, ссылку на которую я выше дал).
Ответ написан
Комментировать
ainu
@ainu
По-правильному делать надо PJAX pjax.heroku.com/
На гитхабе так сделано и вроде как в контакте тоже.
Ответ написан
С перезагрузкой страницы это сделать невозможно. Используйте технологию AJAX (пример vk.com) или фреймы, на худой конец.
Ответ написан
Комментировать
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Собсно, чем играть музыку в данном случае — неважно. Важно, что вам надо сделать переход на другую страницу (или иллюзию перехода), фактически оставаясь на предыдущей.
Как выше говорили, вам помогут AJAX/фреймы и History API.
Ответ написан
Комментировать
nertz
@nertz
Самый безглючный вариант, сделать фрейм.
В котором даже можно показать нужные контроллы.
JS, Ajax и прочее будет лишней нервотрепкой.
Ответ написан
Напрямую это не возможно, т.к. нет средств для управления перемоткой в браузере и проигрывание звуков привязано к DOM-модели.

Как решение можно отказаться от постраничной модели проекта в сторону FullAjax — нет переходов между страницами, нет обрывов.
Ответ написан
Комментировать
KeNNy_aKa_MaX
@KeNNy_aKa_MaX
Ну судя по всему вам придётся делать AJAX переходы между страницами для этого лучше всего использовать Java-Script библиотеку jQuery, для неё плагинов будет предостаточно думаю.
Ответ написан
Комментировать
@bodan6666 Автор вопроса
Спасибо. Надо будет поизучать все эти моменты.
Но направление движения вы мне показали
Ответ написан
Комментировать
@edogs
Из неупомянутых, хотя и несколько унылых вариантов
1) фреймы собственно
2) попандер с плеером
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы