Я пытаюсь прикрепить обратный вызов к событию YouTube API. Допустим, на сайте есть два независимых скрипта для скриптов - мой и сторонний. Оба используют JavaScript API YouTube. Мне нужно запустить кусок кода, когда API будет готов. Вот примеры кода:
Сторонний скрипт:
// maybe load YouTube JS API
if (typeof window.YT === 'undefined') {
var tag = document.createElement('script');
tag.src = '//www.youtube.com/iframe_api';
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
}
// initialize when API is ready
window.onYouTubeIframeAPIReady = function () {
// do some cool stuff here...
}
Мой скрипт, абсолютно такой же:
// maybe load YouTube JS API
if (typeof window.YT === 'undefined') {
var tag = document.createElement('script');
tag.src = '//www.youtube.com/iframe_api';
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
}
// initialize when API is ready
window.onYouTubeIframeAPIReady = function () {
// do some cool stuff here...
}
В этом случае будет запущен только один обратный вызов - последний, потому что он перезаписывает обратные вызовы, назначенные ранее.
Итак, какую технику программирования я должен использовать здесь, чтобы безопасно прикрепить мой обратный вызов?
Спасибо.