Найдите родительский div в iframe YouTube, который только что закончил играть, используя YouTube API - PullRequest
5 голосов
/ 29 октября 2011

У меня есть эта функция:

function onPlayerStateChange(event) {
    if (event.data == 0){

        alert(event.target.parentNode);

    }
});

Она вызывается каждый раз, когда происходит «изменение состояния» для встроенного фрейма.Выдает только предупреждающее сообщение, когда видео заканчивается, и в соответствии с документами , я могу получить ссылку на игрока, позвонив по номеру event.target Однако я хочу найти родительский div для event.target но я не могу вызвать какой-либо jquery или обычный javascript на нем.Как я смогу найти родительский div игрока, который только что закончился?

Ответы [ 2 ]

10 голосов
/ 03 сентября 2014

event.target не является надежным способом решения этой проблемы. Как предупредил доктор Молл, клавиши event.target регулярно меняются ...

Существует функция getIframe () , с которой вы можете работать более надежно, поэтому event.target.getIframe().parentNode даст вам родительский DIV.

2 голосов
/ 29 октября 2011

event.target здесь не возвращает HTML-элемент (в данном случае iframe), он возвращает объект player.Вы можете получить доступ к iframe с помощью event.target.b (и div с помощью event.target.b.parentNode ).

Обратите внимание: это нечасть документов, я проверял членов event.target с помощью консоли.Может случиться так, что это (доступ через event.target.b ) изменится в будущем.

...