Вопрос по скрипту

 
0
 
JavaScript
ava
agafik | 01.12.2011, 23:50
Добрый день!
Подскажите, лузеру, как решить проблему:
Предистория.
Хочу на форум (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"), "[email protected]"); 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();
}


Спасибо!



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

Kommentare (5)
ava
iff | 02.12.2011, 16:20 #
Зачем? Просто вставляем в html-страничку объект плеера

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

там будет и кнопка запуска и остановки.
(можно также настроить свойства объекта как вам надо).
ava
agafik | 10.12.2011, 14:07 #
Нет, не помогает, удаляю, полностью, свой код НТМЛ, вставляю объект, и ничего не происходит, никакой кнопки не появляеться.
ava
&#036;дмитрий | 10.12.2011, 18:04 #

<embed src="http://streamall.rambler.ru/nashe64.mp3" autoplay="true" width="360" height="64" type="application/x-mplayer2">
ava
agafik | 15.12.2011, 19:17 #
Цитата ($дмитрий @ 10.12.2011, 18:04)


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


Нет тоже не пойдет, при данном коде, радио играет постоянно, при выключении после обновления страницы, приходится опять выключать.
Может ли кто ни будь помочь, по вопросам из первого поста?
ava
&#036;дмитрий | 15.12.2011, 19:47 #
Цитата


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


Все равно при переходе по страница сайта музыка будет прерываться. Да и зачем оно на сайте не представляю
Registrieren Sie sich oder melden Sie sich an, um schreiben zu können.
Unternehmen des Tages
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Mitwirkende
advanced
Absenden