Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос по скрипту, Скрипт радио  
:(
    Опции темы
agafik
Дата 1.12.2011, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 1.12.2011

Репутация: нет
Всего: нет



Добрый день!
Подскажите, лузеру, как решить проблему:
Предистория.
Хочу на форум (vbulletin 3.8) кнопочку включения нашего радио, нашел в скрипт, более менее оптимизировал под себя, но есть следующая проблема:
Есть кнопка, включить радио, при нажатии ее активируеться скрипт, и появляеться новая кнопка выключить радио см. тут справа от кнопки вход/выход Форум
Как можно подправить код, что бы включение и выключение было на одной кнопке?

Код HTML
Код

<td class="vbmenu_control"><div id="pageBody"><div id="radioControl">
<div id="radioPlayer"></div>
<div id="radioSourses">
<p><a href="javascript:radioPlay('http://mp3.nashe.ru:80/nashe-192')">Наше радио</a></p>
</div>
<script type="text/javascript" src="/Radio.js"></script>


Сам скрипт

Код

Function.prototype.alzBind = function(o) { var m = this; return function() { return m.apply(o, arguments); } }

function alzEventer(element, onEvent, userHandler) {
    this.element = element;
    this.onEvent = onEvent;
    this.userHandler = userHandler;
    this.eventHandler = this._handler.alzBind(this);
}

alzEventer.prototype.add = function () {
    with (this.element) {
        if (typeof(addEventListener) != 'undefined') addEventListener(this.onEvent, this.eventHandler, false);
        else if (typeof(attachEvent) != 'undefined') attachEvent('on'+this.onEvent, this.eventHandler);
    }
    return this;
}

alzEventer.prototype._handler = function (event) {
    if (typeof(window.event) != 'undefined') event = window.event;
    if (this.userHandler(event)) return true;
    if (typeof(event.preventDefault) != 'undefined') event.preventDefault();
    return false;
}

function alzGetChildNode(e) {
    for (var i=0; i<e.childNodes.length; i++)
        if (e.childNodes[i].nodeType==1) return e.childNodes[i];
}

var radioInterval;
function radioPlay(f) {
    document.getElementById('radioPlayer').innerHTML =
        '<input type="button" value="включается..." onclick="radioStop(\''+f+'\')" id="radioButton">'
        +'<object id="aaa" width="0" height="0" classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95">'
        +'<param name="autostart" value="1">'
        +'<param name="filename" value="'+f+'">'
        +'<embed id="eee" src="'+f+'" width="0" height="0" autostart="1" type="video/x-ms-asf"></embed>'
        +'</object>';

        radioInterval = setInterval("with(document.getElementById('radioButton')){value='выключить радио';className='off'}clearInterval(radioInterval);", 3000);

    with (document.getElementById('radioSourses'))
        for (var i=0; i<childNodes.length; i++)
            if (childNodes[i].tagName == 'P')
                childNodes[i].style.fontWeight = alzGetChildNode(childNodes[i]).href == "javascript:radioPlay('"+f+"')" ? 'bold' : 'normal';
}

function radioStop(f) {
    document.getElementById('radioPlayer').innerHTML = 
        '<input type="button" value="включить радио" onclick="radioPlay(\''+f+'\')" class="on">';
}


var m = "con"+"tac"+"tra"+"di"+"sto"+".r"+"u"; m = m.replace(new RegExp("tr"), "t@r"); m = "<"+"a "+"hr"+"ef"+"='"+"ma"+"il"+"to"+":"+m+"'>"+m+"<"+"/a"+">";
document.getElementById('pageContact').innerHTML += m;

var e;

if (e = document.getElementById('radioSourses')) document.location.href = alzGetChildNode(alzGetChildNode(e)).href;

if (document.getElementById('slider')) {
    if (e = document.getElementById('slider-prev')) e.title = "Перейти на предыдущую страницу (''Ctrl'' + ''<-'')";
    if (e = document.getElementById('slider-next')) e.title = "Перейти на следующую страницу (''Ctrl'' + ''->'')";
    new alzEventer(document, 'keydown', function(e){
        var a = {37:'prev',39:'next'};
        with (document)
            if (e.ctrlKey)
                for (var i in a)
                    if (e.keyCode==i && getElementById('slider-'+a[i])) location.href = getElementById('slider-'+a[i]).href;
        return true;



    }).add();
}


Спасибо!



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


PM MAIL   Вверх
iff
Дата 2.12.2011, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Администратор
**


Профиль
Группа: Участник
Сообщений: 949
Регистрация: 23.3.2007

Репутация: 2
Всего: 16



Зачем? Просто вставляем в html-страничку объект плеера
Код

<object classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95">
</object>

там будет и кнопка запуска и остановки.
(можно также настроить свойства объекта как вам надо).


--------------------
DOS... Синей пеленой экран заполнил чистый DOS 
Мышь... Стала вдруг квадратной, потеряла форму мышь... 
Я разбил окно, девяностопятое мастдайное окно, 
И поставил DOS, и тогда увидел: Это счастье, — вот оно.  
PM MAIL WWW   Вверх
agafik
Дата 10.12.2011, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 1.12.2011

Репутация: нет
Всего: нет



Нет, не помогает, удаляю, полностью, свой код НТМЛ, вставляю объект, и ничего не происходит, никакой кнопки не появляеться.
PM MAIL   Вверх
$дмитрий
Дата 10.12.2011, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 5
Всего: 45



Код

<embed src="http://streamall.rambler.ru/nashe64.mp3" autoplay="true" width="360" height="64" type="application/x-mplayer2">

PM MAIL   Вверх
agafik
Дата 15.12.2011, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 1.12.2011

Репутация: нет
Всего: нет



Цитата($дмитрий @ 10.12.2011,  18:04)
Код

<embed src="http://streamall.rambler.ru/nashe64.mp3" autoplay="true" width="360" height="64" type="application/x-mplayer2">

Нет тоже не пойдет, при данном коде, радио играет постоянно, при выключении после обновления страницы, приходится опять выключать.
Может ли кто ни будь помочь, по вопросам из первого поста?
PM MAIL   Вверх
$дмитрий
Дата 15.12.2011, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 5
Всего: 45



Цитата

при обновлении страницы или переходе, радио продолжает играть

Все равно при переходе по страница сайта музыка будет прерываться. Да и зачем оно на сайте не представляю
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0881 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.