Барабашка или кривые руки: Flowplayer cannot access element

Недавно при добавлении видео-проигрывателя flowplayer на сайт столкнулся с ошибкой
uncaught exception: Flowplayer cannot access element: player

Версию использовал flowplayer 3.2.6. Когда столкнулся с ошибкой и почитал немного форумов (безуспешно кстати), решил откатиться до 3.2.1 — не помогло.
Воспользовался мастером настройки плеера прямо на сайте, скачал, поставил — не работает, ошибка не изменилась.
Проблему решил, когда залез в код несжатого flowplayer.js и посмотрел место, где эта самая ошибка возникала:


// possibly defer initialization until DOM get's loaded
if (typeof wrapper == 'string') {
var node = el(wrapper);
if (!node) { throw "Flowplayer cannot access element: " + wrapper; }
wrapper = node;
init();

Странно конечно, что я не догадался. Проблема была в том, что код срабатывал раньше загрузки DOM, и естественно не мог найти элемент с id="player", потому что тот еще не образовался. Код инициализации в итоге приобрел следующий вид:


window.onload=function() {
flowplayer("flowplayer", "/flowplayer.swf");
};

После чего все заработало.

PS: На самом деле jquery ввел меня в заблуждение. Я пытался добавить вместо window.onload -> $(document).ready()
И не подумал о том, что у flowplayer свое пространство имен (я прав?) и при .ready() инициализация не произойдет.

Полезно(0)Бесполезно(0)
Комментарии закрыты.