Плеер радио на аяксе

#1 7 марта 2016 в 16:23
Подскажите пожалуйста, как можно сделать блок с виджетом, в который можно будет вставить аудиоплеер, чтобы музыка играющая в нём не прерывалась при навигации по сайту. Местоположение виджета в принципе значения не имеет, например сбоку (справа, или слева). Искал по сайту, но ничего не нашёл.
#2 7 марта 2016 в 18:00
по моему, что бы музыка не прерывалась, не плеер должен быть на аяксе, а весь остальной контент должен подгружаться на аяксе. виджетом не обойтись.
самое простое делать что то с примерением onclick="window.open(. у меня так радио плеер. Там по проще, потому что радиоплееру не нужно работать с базой
#3 7 марта 2016 в 18:36

не плеер должен быть на аяксе

Нил™
именно, у нас тут таким занимался Sjen, у него можно еще что то найти
#4 7 марта 2016 в 18:39
ну если контент подгружается не на аяксе, то даже если плеер запомнит на чем остановились и при смене страницы продолжит с того же места, прерывание — будет.
#5 7 марта 2016 в 21:11
Нил™, вы имеете ввиду открытие в новом окне?
#6 7 марта 2016 в 21:47
Это чёрт возьми, то, что нужно! Но… SJen Последний визит:5 месяцев назад Иллюстрация
Кто-нибудь может соорудить подобный шаблон?
#7 9 марта 2016 в 14:24
Raiden,

есть такая технология pjax, с ее помощью можно легко это сделать

скачать можешь тут. там же есть документация

подключаешь библиотеку и пишешь что-то вроде

  1. <script>
  2. $.pjax.defaults.timeout = 10000;
  3.  
  4. $(document).ready(function(){
  5. $(document).pjax(' a:not(.ajax-modal, [href*=add], [href*=auth], [href*=register])', '.content_row_pjax'); /*чтобы не реагировал на модальные окна, при добавлении контента(лучше убрать)*/
  6.  
  7. $('body').on('click', 'a.ajax-modal', function(e){ /* чтобы модальные окна в подгруженном контенте работали */
  8. $(this).attr('rel', 'gal').nyroModal();
  9. e.preventDefault();
  10. });
  11.  
  12. var pjax = $('.content_row_pjax');
  13.  
  14. var loading = $('<div class="loading"></div>'); /* при загрузке накладываем, стили отдельо напишешь */
  15.  
  16. $(document).on('pjax:beforeSend', function() { /* перед отправкой */
  17.  
  18. pjax.prepend(loading);
  19.  
  20. });
  21.  
  22. $(document).on('pjax:popstate', function() { /* вперед назад */
  23. pjax.find('.loading').remove();
  24.  
  25. });
  26.  
  27. $(document).on('pjax:end', function() { /* выводим контент */
  28.  
  29. /* тут какой-то код который хочешь чтобы выполнился по окончанию загрузки */
  30.  
  31. pjax.find('.loading').remove();
  32.  
  33. });
  34.  
  35. });
  36.  
  37. </script>
  38.  
создаешь контейнер с классом content_row_pjax из которого будем обрабатывать ссылки и куда будем грузть контент

а сам код плеера выводишь отдельно, за пределами контейнер.

вроде ничего не забыл. По крайней мере у меня работал))

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