#iphone #ios #ipad
#iPhone #iOS #iPad
Вопрос:
У меня есть приложение для iOS, которое содержит много локального веб-контента. Часть этого контента представляет собой видео / аудио. У меня есть событие щелчка, прикрепленное к тегам видео и аудио, которое запускает URL-адрес аналитики, который я собираюсь просмотреть в UIWebView. Проблема в том, что событие щелчка не регистрируется. Я предполагаю, что это связано с тем, что iOS заменяет видео своим специальным видеопроигрывателем. Как мне перехватить событие воспроизведения, чтобы я мог что-то с ним сделать. Вот мой код jQuery для события щелчка.
function videoClick() {
$("video").click(function () {
alert("here");
//document.location = "ignoretap:///";
var videoTitle = $(this).attr("data-mediatitle");
var videoSrc = $(this).children("source").attr("src");
if (videoTitle != null amp;amp; videoTitle.length > 0) {
document.location = "analytics:///" "page" videoTitle;
}
else {
document.location = "analytics:///" "page" videoSrc;
}
});
}
Вот мой HTML-код для видео
<video width="100%" controls="controls" data-mediatitle="testing">
<source src="StoryOfIyal.mp4" type="video/mp4" poster="IyalVideo.htm-iyalvideoscreenshot_lg.jpg"></source>
Your Browser does not support the video tag
</video>
Ответ №1:
Понял это. Вы должны привязываться к событию «play» в jQuery, а не к событию click. Вот обновленная функция.
function videoClick() {
$("video").bind('play', function () {
alert("here");
//document.location = "ignoretap:///";
var videoTitle = $(this).attr("data-mediatitle");
var videoSrc = $(this).children("source").attr("src");
if (videoTitle != null amp;amp; videoTitle.length > 0) {
document.location = "analytics:///" "page" videoTitle;
}
else {
document.location = "analytics:///" "page" videoSrc;
}
});
}