diff --git a/package.json b/package.json index ff34c024..6c081be4 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "devDependencies": { "@sampotts/eslint-config": "1.1.5", "ansi-colors": "^4.1.1", - "autoprefixer": "^10.0.1", + "autoprefixer": "^10.0.2", "aws-sdk": "^2.773.0", "@babel/core": "^7.12.3", "@babel/preset-env": "^7.12.1", @@ -67,16 +67,17 @@ "gulp-replace": "^1.0.0", "gulp-sass": "^4.1.0", "gulp-size": "^3.0.0", - "gulp-sourcemaps": "^2.6.5", + "gulp-sourcemaps": "^3.0.0", "gulp-svgstore": "^7.0.1", - "gulp-terser": "^1.4.0", - "postcss": "^8.1.2", + "gulp-terser": "^1.4.1", + "postcss": "^8.1.7", "postcss-clean": "^1.1.0", "postcss-custom-properties": "^10.0.0", + "prettier-eslint": "^11.0.0", "prettier-stylelint": "^0.4.2", "remark-cli": "^9.0.0", "remark-validate-links": "^10.0.2", - "rollup": "^2.32.0", + "rollup": "^2.33.1", "rollup-plugin-babel": "^4.4.0", "rollup-plugin-commonjs": "^10.1.0", "rollup-plugin-node-resolve": "^5.2.0", @@ -90,10 +91,10 @@ "through2": "^4.0.2" }, "dependencies": { - "core-js": "^3.6.5", + "core-js": "^3.7.0", "custom-event-polyfill": "^1.0.7", "loadjs": "^4.2.0", "rangetouch": "^2.0.1", - "url-polyfill": "^1.1.11" + "url-polyfill": "^1.1.12" } } diff --git a/src/js/config/defaults.js b/src/js/config/defaults.js index 80ab190f..8938ede9 100644 --- a/src/js/config/defaults.js +++ b/src/js/config/defaults.js @@ -200,7 +200,7 @@ const defaults = { vimeo: { sdk: 'https://player.vimeo.com/api/player.js', iframe: 'https://player.vimeo.com/video/{0}?{1}', - api: 'https://vimeo.com/api/v2/video/{0}.json', + api: 'https://vimeo.com/api/oembed.json?url={0}', }, youtube: { sdk: 'https://www.youtube.com/iframe_api', diff --git a/src/js/plugins/vimeo.js b/src/js/plugins/vimeo.js index cd19b097..b050cc53 100644 --- a/src/js/plugins/vimeo.js +++ b/src/js/plugins/vimeo.js @@ -126,19 +126,13 @@ const vimeo = { // Get poster image if (!config.customControls) { - fetch(format(player.config.urls.vimeo.api, id), 'json').then((response) => { - if (is.empty(response)) { + fetch(format(player.config.urls.vimeo.api, src)).then((response) => { + if (is.empty(response) || !response.thumbnail_url) { return; } - // Get the URL for thumbnail - const url = new URL(response[0].thumbnail_large); - - // Get original image - url.pathname = `${url.pathname.split('_')[0]}.jpg`; - // Set and show poster - ui.setPoster.call(player, url.href).catch(() => {}); + ui.setPoster.call(player, response.thumbnail_url).catch(() => {}); }); } diff --git a/src/js/plugins/youtube.js b/src/js/plugins/youtube.js index d78536ca..db5781e6 100644 --- a/src/js/plugins/youtube.js +++ b/src/js/plugins/youtube.js @@ -126,6 +126,7 @@ const youtube = { const container = createElement('div', { id, 'data-poster': config.customControls ? player.poster : undefined }); player.media = replaceElement(container, player.media); + // Only load the poster when using custom controls if (config.customControls) { const posterSrc = (s) => `https://i.ytimg.com/vi/${videoId}/${s}default.jpg`;