From 2e6ba925496e0fe5d545709ec83e54d83c5c7d5b Mon Sep 17 00:00:00 2001 From: gemstone Date: Tue, 14 May 2024 20:35:05 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=F0=9F=90=9B=20(xgplayer)=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E6=88=AA=E5=9B=BE=E5=9C=A8=E9=83=A8=E5=88=86=E6=9C=BA?= =?UTF-8?q?=E5=9E=8B=E5=A4=B1=E8=B4=A5=E7=9A=84=E9=97=AE=E9=A2=98=20#1396?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xgplayer/src/plugins/screenShot/index.js | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) 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) {