Added logic to parse youtube video id
This commit is targetted at solving issue#345 and adds functionality to parse youtube video IDs from various types of youtube video URLs. Other embed types like vimeo/soundcloud can be extended by following a similar structure as implemented in this commit.
This commit is contained in:
parent
a3ed309342
commit
0ef87f93a6
@ -3259,6 +3259,19 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Taken from https://gist.github.com/takien/4077195
|
||||||
|
function parseYoutubeVideoId(url) {
|
||||||
|
var videoId;
|
||||||
|
url = url.replace(/(>|<)/gi,'').split(/(vi\/|v=|\/v\/|youtu\.be\/|\/embed\/)/);
|
||||||
|
if(url[2] !== undefined) {
|
||||||
|
videoId = url[2].split(/[^0-9a-z_\-]/i);
|
||||||
|
videoId = videoId[0];
|
||||||
|
} else {
|
||||||
|
videoId = url;
|
||||||
|
}
|
||||||
|
return videoId;
|
||||||
|
}
|
||||||
|
|
||||||
// Setup a player
|
// Setup a player
|
||||||
function _init() {
|
function _init() {
|
||||||
// Bail if the element is initialized
|
// Bail if the element is initialized
|
||||||
@ -3287,6 +3300,12 @@
|
|||||||
plyr.type = media.getAttribute('data-type');
|
plyr.type = media.getAttribute('data-type');
|
||||||
plyr.embedId = media.getAttribute('data-video-id');
|
plyr.embedId = media.getAttribute('data-video-id');
|
||||||
|
|
||||||
|
switch(plyr.type) {
|
||||||
|
case 'youtube':
|
||||||
|
plyr.embedId = parseYoutubeVideoId(plyr.embedId);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
// Clean up
|
// Clean up
|
||||||
media.removeAttribute('data-type');
|
media.removeAttribute('data-type');
|
||||||
media.removeAttribute('data-video-id');
|
media.removeAttribute('data-video-id');
|
||||||
|
Loading…
x
Reference in New Issue
Block a user