zapretnyii_plod Опубликовано 26 Мая 2008 Жалоба Поделиться Опубликовано 26 Мая 2008 У меня на форуме установлен музыкальный мод. Смысл его в том, что при заходе в определённый форум звучит музыкальная тема, соответствующая форуму, ну в лесной зоне - пение птиц, в океанической - играет шум волн. Когда пользователь переходит между форумами, то всё - отлично, но когда переходит внутри одного форума по темам, получается следующий эффект. Поскольку с обновлением странице каждый раз заново загружается медиа-плейер, то каждый раз музыка начинает играть заново, что очень раздражает, особенно когда идёт быстрое перемещение. Нужно, чтобы при обновлении страницы медиаплейер продолжал играть ту же музыку. Для этого его можно поместить в отдельную страницу, которая открывалась бы при открытии форума. Проблема в том, как передать в это же уже открытое окошко данные о том, что музыка изменилась, а не открыть новое? Кто-нибудь знает? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 26 Мая 2008 Жалоба Поделиться Опубликовано 26 Мая 2008 Делал такие штуки на джаваскрипт. Довольно просто.Временные переменные сохраняются в куках или в объекте window.name. Каждому разделу присваивается свое значение ключа.При открытии страницы считывается значение ключа из куков и сверяется с ключем страницы. Если ключ совпал - ничего не происходит, плеер продолжает играть.Если ключ не совпал - плееру отдается команда запуска другой мелодии, а ключ перезаписывается на новый. Если делать на пхп, наверное еще проще будет; значение ключа, привязанное к сессии, сохранять в поле таблицы сессий. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
zapretnyii_plod Опубликовано 26 Мая 2008 Автор Жалоба Поделиться Опубликовано 26 Мая 2008 (изменено) Идея хорошая. Но в твоём способе плейер перезагрузится с открытием новой страницы, т.к. его код вписан в страницу, и если даже ключ совпал, то плеер начнёт играть заново. Вот собственно код<script type="text/javascript" src="jscripts/swfobject.js"></script><div id="container">Ошибка загрузки музыки</div><script type="text/javascript"> var so = new SWFObject('mediaplayer.swf','mpl','32','32','7'); so.addParam('allowscriptaccess','always'); so.addParam('allowfullscreen','false'); so.addVariable('width','32'); so.addVariable('height','32'); so.addVariable('file','".$music_url.$music_file."'); so.addVariable('repeat','true'); so.addVariable('autostart','true'); so.write('container');</script> Изменено 26 Мая 2008 пользователем zapretnyii_plod Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Sannis Опубликовано 26 Мая 2008 Жалоба Поделиться Опубликовано 26 Мая 2008 Можно ухищряться, например делать структуру HTML с фреймами, в одном будет идти смена страниц форума, в другом играть музыка. Но всё равно не просто будет обрабатывать, открывать ли страницу с фреймами или без них, на такой махине будет сложно реализовать, метод скорей для хомяков. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
zapretnyii_plod Опубликовано 31 Мая 2008 Автор Жалоба Поделиться Опубликовано 31 Мая 2008 (изменено) Да, Sannis, спс за подсказку, я попробывал с фреймами, но при всех своих достоинствах их недостатки куда больше перевешивали - это проблема адресной строки и многое другое. Короче, сделал всё в отдельном окне. Кому интересно, вот кот: <script type="text/javascript"> myWin= open("", "displayWindow", "width=200,height=200,status=yes"); myWin.document.open(); myWin.document.location = "yourfile.php"; myWin.document.close(); </script> В yourfile.php то, что будет выводится в том отдельном окне. Изменено 31 Мая 2008 пользователем zapretnyii_plod Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.