Помогите с радио
Всем привет. Есть статья, все сделал на на 3 этапе завис и нейпойму что делать, умные люди посоветуйте пожалуйста!!! ВОт ссылка на статью http://habrahabr.ru/post/145694/ ниже текст из этой же статьи
Шаг 2: настройка «прокси» Информацию-то мы сгенерировали, но вот беда: при помощи JavaScript нельзя обращаться к другому домену или даже порту. Не беда, сделаем вот такой вот скрипт-«переходник»: <?php $s = file_get_contents("http://example.com:8000/info.xsl"); echo($s); ?> Думаю, PHP будет всяко легче просто запросить и отдать, чем запросить, распарсить, вытащить регулярками нужные данные и потом только отдать информацию. Назовём этот скрипт «get.php» и положим на сервер в удобное место. Шаг 3: настройка JavaScript Итак, теперь мы можем и генерировать, и принимать информацию, дело за малым — вывести её пользователю. Здесь я ограничусь кодом с комментариями к нему: // Функция для упрощения написания, задаёт содержимое элементу DOM. Лень - двигатель прогресса! function set (id, dat) { var d = document.getElementById(id); d.innerHTML = dat; } function getXmlHttp() // получаем объект XMLHttpRequest, код взят из многочисленных примеров { var xmlhttp; try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } } if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp = new XMLHttpRequest(); } return xmlhttp; } function req () // запрос данных { var xmlhttp = getXmlHttp() xmlhttp.open("GET", "get.php", true); // просим данные у сервера в асинхронном режиме xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == 4) { if(xmlhttp.status == 200) processResult(xmlhttp.responseText); // отдаём на обработку } }; xmlhttp.send(null); } function processResult (res) // обработка входящих данных { var csRes = eval("(" + res + ")"); // да-да, тут должен использоваться jQuery, ибо безопасность и так далее. Но, так как это просто скрипт с примером, не буду ударяться в подробности. var a = []; // пустой массив, для дальнейших действий // У меня на радио два маунтпоинта - собственно эфир (/stream) и тот, который играет, пока нет диджеев (/ns). if (csRes["/stream"] != null) // Диджей в эфире? { a = csRes["/stream"]; // если да, работаем с данными от него set("sName", "прямой эфир"); // графа "режим" на страничке радио } else // иначе берём данные от точки нон-стоп { a = csRes["/ns"]; set("sName", "Non-Stop (без диджея)"); // графа "режим" на страничке } set("trackholder", a["title"]); // Отображаем текущий трек // Задаём все нужные нам поля (жанр, кол-во слушателей, описание станции и т.д.) set("sGenre", a["genre"]); set("sListeners", a["listeners"]); set("sDescr", a["description"]); setTimeout("req()", 15000); // Если всё прошло удачно, через 15 секунд обновим информацию о станции // Здесь вместо setInterval используем setTimeout, чтобы при неработающем icecast скрипт не просил данные впустую. } req(); // первый запрос Шаг 4: настройка странички Здесь всё проще простого. Верстаем страничку, задаём элементы div с именами, используемыми в скрипте выше и после этих элементов указываем ссылку на скрипт: ... <div id="sDescr">тут описание</div> <script type="text/javascript" src="./track.js"></script> |
Что именно не понятно?
|
Я с JavaScript не дружу, как его использовать не могу понять, и как его вставить чтобы он работал
|
Вот беда-то.. никто не дружит с JavaScript..
|
Часовой пояс GMT +3, время: 18:53. |