diff --git a/js/plugins.js b/js/plugins.js index c36d8bf..bbdfccf 100644 --- a/js/plugins.js +++ b/js/plugins.js @@ -209,13 +209,18 @@ plugins.factory('userPlugins', function() { * See: https://developers.google.com/youtube/player_parameters */ var youtubePlugin = new UrlPlugin('YouTube video', function(url) { - var regex = /(?:youtube\.com\/(?:[^\/]+\/.+\/|(?:v|e(?:mbed)?)\/|.*[?&]v=)|youtu\.be\/)([^"&?\/ ]{11})/i, + var regex = /(?:youtube\.com\/(?:[^\/]+\/.+\/|(?:v|e(?:mbed)?)\/|.*[?&]v=)|youtu\.be\/)([^"&?\/ ]{11})(?:.*t=)?(?:(\d+)h)?(?:(\d+)m)?(?:(\d+)s?)?/i, match = url.match(regex); if (match){ - var token = match[1], - embedurl = "https://www.youtube.com/embed/" + token + "?html5=1&iv_load_policy=3&modestbranding=1&rel=0", - element = angular.element('') + var token = match[1]; + var hours = match[2] ? parseInt(match[2]) : 0; + var mins = match[3] ? parseInt(match[3]) : 0; + var secs = match[4] ? parseInt(match[4]) : 0; + var totalSecs = secs + mins*60 + hours*60*60; + var embedurl = "https://www.youtube.com/embed/" + token + "?html5=1&iv_load_policy=3&modestbranding=1&rel=0&start=" + totalSecs; + + var element = angular.element('') .attr('src', embedurl) .attr('width', '560') .attr('height', '315')