Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.11.2014, 00:36
Новичок на форуме
Отправить личное сообщение для Vestimy Посмотреть профиль Найти все сообщения от Vestimy
 
Регистрация: 03.11.2014
Сообщений: 2

Помогите с радио
Всем привет. Есть статья, все сделал на на 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>
Ответить с цитированием
  #2 (permalink)  
Старый 03.11.2014, 01:51
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

Что именно не понятно?
Ответить с цитированием
  #3 (permalink)  
Старый 03.11.2014, 11:06
Новичок на форуме
Отправить личное сообщение для Vestimy Посмотреть профиль Найти все сообщения от Vestimy
 
Регистрация: 03.11.2014
Сообщений: 2

Я с JavaScript не дружу, как его использовать не могу понять, и как его вставить чтобы он работал
Ответить с цитированием
  #4 (permalink)  
Старый 05.11.2014, 14:56
Аватар для Viral
Профессор
Отправить личное сообщение для Viral Посмотреть профиль Найти все сообщения от Viral
 
Регистрация: 26.04.2011
Сообщений: 472

Вот беда-то.. никто не дружит с JavaScript..
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите скрипт для радио сайта!!! ordinsergei Общие вопросы Javascript 4 25.02.2014 00:54
Подскажите скрипт для радио сайта!!! ordinsergei AJAX и COMET 0 17.02.2014 22:22
Кастомный селект, чекбокс, радио vostok Ваши сайты и скрипты 0 12.08.2013 00:33
Скрипт онлайн радио javascript Мерлин Ваши сайты и скрипты 1 28.05.2012 10:52
Помогите! Многоуровневые вкладки! sergeeeeee Элементы интерфейса 2 02.08.2010 23:50