Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   После подгрузки контента через Ajax не все работает для подгруженного контента (https://javascript.ru/forum/events/24874-posle-podgruzki-kontenta-cherez-ajax-ne-vse-rabotaet-dlya-podgruzhennogo-kontenta.html)

Sergey999 17.01.2012 19:43

После подгрузки контента через Ajax не все работает для подгруженного контента
 
Не знал как еще назвать тему, но в целом вот такая проблема:

1. Есть скрипт http://devreactor.com/projects/drplayer.aspx
2. Подключаю его в начале страницы:

<script src="/_include/_mp3play/drplayer.js" type="text/javascript"></script>
<script type="text/javascript">
    $(document).ready(function() {
        $("#playlist").playlist(
            {
                playerurl: "/_include/_mp3play/drplayer.swf"
            }
        );
    });
</script>


3. Все песни что есть на странице играют прекрасно
4. Делаю еще запрос на сервер и получаю еще список песен
5. И все, теперь скрипт уже не работает для новых песен

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

Читал что как то хитро это делают на Ajax но пока что то никаких соображений нет у меня... как можно подгрузить его и куда и "таскать" с собой по всем страницам ума не приложу... Да и просто на странице как выполнять код для подключения плеера, чтобы и запись не оборвалась и чтобы новые файлы появились и для них тоже плеер работал =(

Nekromancer 17.01.2012 20:07

Sergey999,
Если вы везде используюте айди для ваших плейлистов, то срочно поменяете на классы. Айди на странице может быть только один.
Далее, каждый раз как подгружаете плейлист, нужно заново вызывать вашу функцию. Это в общем случае.
На счёт не прерывания, следует почтить про History API и Hash History.

Sergey999 17.01.2012 22:21

Цитата:

Далее, каждый раз как подгружаете плейлист, нужно заново вызывать вашу функцию.
Как то совсем не красиво получается(( В смысле не знаю как мне наверняка определить что страница после AJAX запроса готова к работе с ней, сейчас пробовал на этом плеере:

http://wpaudioplayer.com/standalone/

просто по клику кнопки обновлять - жутко медленно все происходит и не красиво (( Запускал скрипт который перебирал все элементы с параметрами которые я вывел php скриптом, а потом вызывал функцию включения плеера...


Часовой пояс GMT +3, время: 10:33.