использование jQuery для изменения элемента DOM после полной загрузки содержимого страницы - PullRequest
1 голос
/ 30 августа 2010

Я заранее извиняюсь, если мой вопрос кажется немного вводящим в заблуждение, но я пытаюсь обдумать этот вопрос.

У меня есть MP3-плеер на основе флэш-памяти (http://blog.lacymorrow.com/projects/xspf-jukebox), которыйпредоставляет Javascript API, который действительно удобен для моей ситуации. Я использую jQuery и swfObject для встраивания Flash-плеера, и это хорошо работает.

Теперь у плеера есть функции автоматического возобновления и авто-воспроизведения, которые вызываютнемедленно начать воспроизведение, когда страница загружена, и это здорово. Однако я пытаюсь остановить проигрыватель при просмотре определенной страницы. Например, при просмотре contact.html ,Я хочу, чтобы проигрыватель перестал воспроизводить любую музыку. Я думал, что будет работать следующее:

$(function($) {
  window.document.myJukebox.stopTrack();
}); 

Затем я вспомнил, что все внутри $(document).ready() или $(function($) {}) будет выполнено, как только будет загружена DOM НО до загрузки всего содержимого страницы. Что мне нужно сделать, так это убедиться, что вышеуказанный скрипт выполняется без какого-либо вмешательства пользователя после полной загрузки всей страницы.-> Это то, с чем я застрял, и мне нужна ваша помощь, пожалуйста.Если у меня есть следующая гиперссылка на странице:

<a id="player-stop" href="javascript:window.document.myJukebox.stopTrack();">Click to Stop</a>

и щелкните по ней, то игрок останавливается , так что мне ясно, что мне нужно что-то, что работает автоматически безпользователь должен нажать на кнопку СТОП.Я попытался запустить это в сценарии в нижней части страницы без удачи.

Спасибо!

Ответы [ 2 ]

1 голос
/ 30 августа 2010

Попробуйте использовать setTimeout, чтобы запланировать выполнение функции остановки позже. Если у вас есть какое-то свойство на myJukebox, которое сообщает, играет ли игрок или нет, вы можете использовать setInterval и дать ему понять, когда он действительно останавливает игрока.

Кроме того, стоит выяснить, есть ли у игрока какое-либо событие startPlaying и остановить его после того, как оно запустило событие startPlaying.

1 голос
/ 30 августа 2010

Я предполагаю, что первый не работает, потому что DOM на самом деле готов, но флэш-контент в это время не работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...