Хорошо, теперь проблема здесь ...
Сначала я пытался исключить, использовать ли flash player, html5 player или mediaplayer для этого клиента ..... HTML5 кажетсяпредлагая реализацию, которая не содержит плагинов, поэтому я решил отказаться от Flash .... и рассматривал маршрут HTML5 ... все хорошо ... сделал хороший плеер, который также был кросс-браузерным и хорошо заботился о кодеках, но упс... понял, что html5 не смог запустить ASX ... поэтому он вернулся к старому маршруту Windows MediaPlayer ... У меня не было никакого реального выбора ....
Я поставил функцию javascript, котораяпросто оповещение и должно срабатывать всякий раз, когда медиаплеер меняет состояние (скажем, из воспроизведения вы приостанавливаете его ....)
function WMP_status()
{
alert("state Changed");
}
Я встроил объект медиаплеера на html-страницу и создал псевдоним в javascript дляполучить доступ к этому объекту программно и получить контроль над ним через javascript ...... Примерно так ...
var WMP=document.getElementById("mediaplayer");
Затем настал черед захвата состояния медиаплеера ... так что я требуюкрасный - какая-то форма события ... поэтому я зарегистрировал событие примерно так .... и работал нормально ...
WMP.attachEvent("playStateChange", WMP_status);
// Note ... WMP.detachEvent("playStateChange", WMP_status); ... doesn't always detach events...
Я понял, что в IE проблема с отключением событий все еще сохраняется (см. рисунок)но, к моему удивлению, я понял, что начиная с ie9 .... addEventListener должен был быть также включен как часть поддержки javascript, поэтому я попробовал следующую строку, которая, очевидно, должна обозначать вышеприведенное, но не радость .....
WMP.addEventListener("playStateChange", WMP_status , false);
Возможно, я подумал, что addEventListener все еще не реализован должным образом в IE9, поэтому я попытался использовать метод JQuery bind () примерно так ... но все равно не радость ....
$(WMP).bind("playStateChange", WMP_status);
Я пробовал также эти 2 варианта
(а) до сих пор нет радости ....
$(WMP).bind("playStateChange", "WMP_status");
(б) до сих пор нет радости .....
$(WMP).bind("playStateChange", function(){WMP_status()});
Я попробовал это, чтобы исключить всевозможные возможности ... на сайте jquery не было информации, могу ли я ввести имя функции или нет ... поэтому я попытался также ввести анонимное имя ....
В любом случае ... Я бы действительно предпочел использовать механизм Jquery длявентиляционная обработка, особенно из-за того, что он гораздо более кроссбраузерный ... может кто-нибудь помочь мне в этом?Я также пошел по этому пути динамического присоединения событий, потому что я буду добавлять / удалять элементы через jquery ... и remove () также будет удобно отсоединять события ...
Большое спасибо Al