Intereting Posts
Библиотека PHP. Вычислите ограничивающий прямоугольник для заданного местоположения lat / lng. Длинное целое преобразуется при вставке в более короткий столбец, а не усечен. Зачем? Какова формула? Завершить вызов AJAX перед переадресацией кнопки PayPal Codeigniter эхом вместо localhost Переопределение методов экземпляра Doctrine_Record (sfDoctrineRecord) в Doctrine PHP Symfony Symfony3: Fatal error: Class 'AppKernel' не найден. \ Bin \ console jQuery ajax-запрос с json-ответом, как? Как синхронизировать покупку iphone в приложении с веб-сайтом Почему не exec ("top"); работать в Linux? Не удается сохранить холст HTML5 как изображение на сервере Хотите показать Дерево каталогов сервера (PHP) на стороне клиента с помощью FLEX? Как сохранить и получить содержимое изображения из базы данных с помощью Laravel mysqli / mysql запрос внутри функции не работает Используйте Yii findAll, чтобы вернуть модель со всеми свойствами Как написать, где Между запросом в yii2

API YouTube iFrame .seekTo () не метод?

Я знаю, что .seekTo () работает в Javascript API, но я не могу заставить его работать с API iFrame . Поддерживается ли этот метод? В приведенном ниже коде успешно внедряется видео и успешно завершается консоль log – объект игрока. Я получаю сообщение об ошибке «player.seekTo не является функцией» в консоли.

<script> var tag = document.createElement('script'); tag.src = "http://www.youtube.com/player_api"; var firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); var player; function onYouTubePlayerAPIReady() { player = new YT.Player('player', { height: '390', width: '640', videoId: 'u1zgFlCw8Aw' }); } $(window).load(function(){ jQuery('#test').click(function(){ //console.log('test'); console.log(player); player.seekTo(25); return false; }); }); </script> <a href="#" id="test">Test</a> 

Есть идеи? Благодаря!

Вот обновленный jsfiddle, используя новый iframe api, который работает

FYI: Если вы используете только встроенный HTML-код iframe, вы можете положить ?start=30 для времени начала

 <iframe width="640" height="390" src="//www.youtube.com/embed/p2H5YVfZVFw?start=30" frameborder="0" allowfullscreen></iframe> 

Для API вы можете запустить видео в определенное время, как это. Используйте параметр start

 function onYouTubePlayerAPIReady() { player = new YT.Player('player', { height: '390', width: '640', videoId: 'p2H5YVfZVFw', playerVars: { 'start': 159, 'autoplay': 1, 'controls': 1 }, events: { 'onReady': onPlayerReady, 'onStateChange': onPlayerStateChange, } }); 

Вы можете только вызвать seekTo после того, как игрок начал играть или ничего не делает. Проверьте playerStateChange вызов playerStateChange :

 onStateChange': onPlayerStateChange 

Добавить функцию обратного вызова

 function onPlayerStateChange(evt) { if (evt.data==1) { // this will seek to a certain point when video starts // but you're better off using 'start' parameter // player.seekTo(22); } } 

JsFiddle имеет кнопки внизу, чтобы искать 30, 60, 90 секунд. Он был протестирован со всеми браузерами, которые рифмуются с «rome». Когда он открывается, появляется окно предупреждения для типа функции player.seekTo . Если это показывает «неопределенный», у вас есть проблема.

Это работает по назначению: http://jsfiddle.net/JbwY4/ (FF 11, Chrome 17).

Убедитесь, что выполнены следующие условия:

  1. Определяется контейнер с ID- player : <div id="player"></div> .
  2. Код не откладывается . То есть, не в событии onload , $(document).ready , setTimeout и т. Д. В противном случае API IFrame не загружается, и код не будет работать.
  3. Загружается jQuery.

Метод seekTo() доступен только после события onReady .

Вот пример, который начинает играть в 100 секунд:

http://jsfiddle.net/9RQK3/

Я верю, что не все javascript-методы были внедрены на iframe api в качестве экспериментального, поэтому я не думаю, что если вы попробуете его, и это не удастся. Однако я не использовал iframe api в деталях.