YouTube потерял #t время начала поддержки в прямом URL и вставлять видео?
В последнее время можно использовать #t=2m0s
или #t=120
, чтобы установить время начала прямых ссылок:
http://www.youtube.com/watch?v=Fk2bUvrv-Uc#t=2m30s
а также для встраивания видео:
<iframe width="420" height="315" \
src="http://www.youtube.com/embed/Fk2bUvrv-Uc#t=2m30s" \
frameborder="0" allowfullscreen></iframe>
Теперь кажется, что YouTube отключил поддержку времени запуска #t, и выше не работает. Как я могу теперь ссылаться на видео с конкретным временем начала?
Ответы
Ответ 1
Вставить видео
Похоже, теперь используется другой параметр - start=<number of seconds>
(см. этот блог и документация).
Пример:
<iframe width="420" height="315" frameborder="0" allowfullscreen
src="http://www.youtube.com/embed/Nc9xq-TVyHI?start=110&end=119"></iframe>
Прямые ссылки
Для прямых ссылок достаточно просто заменить #
на &
:
http://www.youtube.com/watch?v=Fk2bUvrv-Uc&t=2m30s
Ответ 2
Вы можете использовать & t = вместо #t =
Ответ 3
YouTube отказался от поддержки времени начала загрузки. Теперь нам нужно, чтобы эфир напрямую использовал параметры start=N&end=M
в секундах в соответствии с их новым API или написал дополнительный код, который превращает нашу старую нотацию #t=(n)m(n)s
в новый API-совместимый стиль.
Ответ 4
Мне удалось заставить видеоклип работать на основе начала и конца, но точный код должен быть следующим:
? начать = х & конец = у
где x - время начала в секундах и y - время окончания в секундах
если '?' нет, он не работает. Также код должен быть размещен непосредственно после URL без какого-либо пробела или не работает.
Ответ 5
У меня было большое количество видеороликов, которые обсуждались с помощью этого метода с помощью плагина JQuery. Я адаптировал плагин, чтобы продолжить использование нотации (n) m (n). Вы можете легко это изменить, чтобы получить значение #t из URL вместо атрибута data
, в котором я его храню.
(function( $ ) {
$.fn.videoChapters = function(iframeID) {
if(typeof window.orig_video === 'undefined') {
window.orig_video = [];
}
window.orig_video[iframeID] = $('#'+iframeID).clone();
var chapterContainer = this;
$(this).find('a').on('click', function(e) {
e.preventDefault();
$('#'+iframeID).remove();
$(chapterContainer).prevAll('.video-iframe').first().find('h3').after(window.orig_video[iframeID]);
var video = $('#'+iframeID);
if(typeof window.video_source === 'undefined') {
window.video_source = [];
}
if(typeof window.video_source[iframeID] === 'undefined') {
window.video_source[iframeID] = $(video).attr('src');
}
/* to use it with a normal anchor change this to something like the below, of course it will vary for URL
* so it'd be better to use a regex, but I'll let someone else worry about that.
*
* var str = $(e.target).attr('href').split('#t')[1];
* var nstr = $(str).split("s")[0];
* var mstr = $(nstr).split("m");
* var min = Number(mstr[0]);
* var sec = Number(mstr[1]);
*
* */
var seconds = $(e.target).data('seconds');
/* youtube dropped old min/secs format, now we convert what there to pure seconds */
var splsec = seconds.split('m');
var min = Number(splsec[0]);
var sec = Number(splsec[1].split('s')[0]);
min = min * 60;
var total = min + sec;
var newSource = window.video_source[iframeID] + "?start="+total+"&autoplay=1&rel=0";
$(video).attr('src', newSource);
});
};
})( jQuery );
Ответ 6
Время начала и окончания использования кода вставки iframe не работает из моего теста. Для меня работает этот код:
From:
http://www.youtube.com/embed/[VIDEOID]
To:
http://www.youtube.com/v/[VIDEOID] & start = [SECONDS] & end = [SECONDS]
<object width="640" height="385">
<param name="movie" value="http://www.youtube.com/v/[VIDEOID]&start=100&end=500" />
<param name="allowscriptaccess" value="always" />
<embed src="http://www.youtube.com/v/[VIDEOID]&start=100&end=500" type="application/x-shockwave-flash" allowscriptaccess="always" width="640" height="385" />
</object>
Ответ 7
Кажется, что работает (опять?) С# t =, по крайней мере, для прямых URL-адресов.
Указанный URL:
https://www.youtube.com/watch?v=Fk2bUvrv-Uc#t=2m30s
работает, то есть: он переходит на 2 мин 30 сек.
Я тестировал это на FF, Chrome, IE11.
Но, вероятно, лучше использовать & t =, и это общий конкатенационный символ аргумента URL.