diff --git a/packages/xgplayer/src/plugins/screenShot/index.js b/packages/xgplayer/src/plugins/screenShot/index.js index 5ac6d1a64..563e01d72 100644 --- a/packages/xgplayer/src/plugins/screenShot/index.js +++ b/packages/xgplayer/src/plugins/screenShot/index.js @@ -52,9 +52,26 @@ export default class ScreenShot extends IconPlugin { const saveLink = document.createElement('a') saveLink.href = data saveLink.download = filename - const event = document.createEvent('MouseEvents') - event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null) - saveLink.dispatchEvent(event) + + let event + try { + if (typeof MouseEvent !== 'undefined') { + event = new MouseEvent('click', { + bubbles: true, + cancelable: true, + view: window + }) + } else { + event = document.createEvent('MouseEvents') + event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null) + } + } catch (e) { + console.error('MouseEvent unsupported', e) + } + + if (event) { + saveLink.dispatchEvent(event) + } } createCanvas (width, height) {