Commit 098e9cf33db68ed9534129c5ef25e58c602eeb87

Authored by fengwotao
1 parent e6ffb67e

perf(src/packages): 优化图表全屏按esc退出全屏背景是白色的问题

... ... @@ -5,8 +5,10 @@ export const useFullScreen = (domName: any, htmlName: HTMLHtmlElement) => {
5 5 if (isFullScreen) {
6 6 if (document.exitFullscreen) {
7 7 document.exitFullscreen()
  8 + domName.style.background = currentDatkTheme === 'light' ? '' : ''
8 9 }
9 10 } else {
  11 + //兼容其他浏览器
10 12 if (domName.requestFullscreen) {
11 13 domName.requestFullscreen()
12 14 domName.style.background = currentDatkTheme === 'light' ? 'white' : '#18181c'
... ... @@ -21,4 +23,21 @@ export const useFullScreen = (domName: any, htmlName: HTMLHtmlElement) => {
21 23 domName.style.background = currentDatkTheme === 'light' ? 'white' : '#18181c'
22 24 }
23 25 }
  26 + //fix 浏览器监听esc退出
  27 + function exitHandler() {
  28 + if (
  29 + !(document as any).webkitIsFullScreen &&
  30 + !(document as any).mozFullScreen &&
  31 + !(document as any).msFullscreenElement
  32 + ) {
  33 + domName.style.background = currentDatkTheme === 'light' ? '' : ''
  34 + }
  35 + }
  36 + // 监听fullscreenchange事件(全屏模式的变化)
  37 + if (document.addEventListener) {
  38 + document.addEventListener('webkitfullscreenchange', exitHandler, false)
  39 + document.addEventListener('mozfullscreenchange', exitHandler, false)
  40 + document.addEventListener('fullscreenchange', exitHandler, false)
  41 + document.addEventListener('MSFullscreenChange', exitHandler, false)
  42 + }
24 43 }
... ...