diff options
author | Sam Potts <sam@potts.es> | 2019-04-25 12:11:06 +1000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-25 12:11:06 +1000 |
commit | e644eeb5b62e6e2eb915d5915cb65ba8af88c05e (patch) | |
tree | 60f96b088ce8490429199163a5e71768b8a9b52c /src/js/plugins/youtube.js | |
parent | 2bd08cdc28bf55b7f7a169b02eb288d7b197b8d6 (diff) | |
parent | 5ddd9e02def654bb677c988403dbefbc4a32787c (diff) | |
download | plyr-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.js | 47 |
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 |