aboutsummaryrefslogtreecommitdiffstats
path: root/src/js/plugins/youtube.js
diff options
context:
space:
mode:
authorSam Potts <sam@potts.es>2019-04-25 12:11:06 +1000
committerGitHub <noreply@github.com>2019-04-25 12:11:06 +1000
commite644eeb5b62e6e2eb915d5915cb65ba8af88c05e (patch)
tree60f96b088ce8490429199163a5e71768b8a9b52c /src/js/plugins/youtube.js
parent2bd08cdc28bf55b7f7a169b02eb288d7b197b8d6 (diff)
parent5ddd9e02def654bb677c988403dbefbc4a32787c (diff)
downloadplyr-e644eeb5b62e6e2eb915d5915cb65ba8af88c05e.tar.lz
plyr-e644eeb5b62e6e2eb915d5915cb65ba8af88c05e.tar.xz
plyr-e644eeb5b62e6e2eb915d5915cb65ba8af88c05e.zip
Merge pull request #1423 from sampotts/develop
v3.5.4
Diffstat (limited to 'src/js/plugins/youtube.js')
-rw-r--r--src/js/plugins/youtube.js47
1 files changed, 19 insertions, 28 deletions
diff --git a/src/js/plugins/youtube.js b/src/js/plugins/youtube.js
index d862e4dd..7abc05fe 100644
--- a/src/js/plugins/youtube.js
+++ b/src/js/plugins/youtube.js
@@ -52,9 +52,6 @@ const youtube = {
// Add embed class for responsive
toggleClass(this.elements.wrapper, this.config.classNames.embed, true);
- // Set aspect ratio
- setAspectRatio.call(this);
-
// Setup API
if (is.object(window.YT) && is.function(window.YT.Player)) {
youtube.ready.call(this);
@@ -84,33 +81,27 @@ const youtube = {
// Get the media title
getTitle(videoId) {
- // Try via undocumented API method first
- // This method disappears now and then though...
- // https://github.com/sampotts/plyr/issues/709
- if (is.function(this.embed.getVideoData)) {
- const { title } = this.embed.getVideoData();
-
- if (is.empty(title)) {
- this.config.title = title;
- ui.setTitle.call(this);
- return;
- }
- }
+ const url = format(this.config.urls.youtube.api, videoId);
- // Or via Google API
- const key = this.config.keys.google;
- if (is.string(key) && !is.empty(key)) {
- const url = format(this.config.urls.youtube.api, videoId, key);
+ fetch(url)
+ .then(data => {
+ if (is.object(data)) {
+ const { title, height, width } = data;
- fetch(url)
- .then(result => {
- if (is.object(result)) {
- this.config.title = result.items[0].snippet.title;
- ui.setTitle.call(this);
- }
- })
- .catch(() => {});
- }
+ // Set title
+ this.config.title = title;
+ ui.setTitle.call(this);
+
+ // Set aspect ratio
+ this.embed.ratio = [width, height];
+ }
+
+ setAspectRatio.call(this);
+ })
+ .catch(() => {
+ // Set aspect ratio
+ setAspectRatio.call(this);
+ });
},
// API ready