diff --git a/src/platforms/h5/components/app/index.vue b/src/platforms/h5/components/app/index.vue index 3c61a85a1c53f117413428461c90db8bdc1a263a..11637c0a2abed389cf9616c38b994087a8576763 100644 --- a/src/platforms/h5/components/app/index.vue +++ b/src/platforms/h5/components/app/index.vue @@ -65,14 +65,19 @@ function onThemeChange () { try { mediaQueryList = window.matchMedia('(prefers-color-scheme: dark)') - } catch (error) { } + } catch (error) {} if (mediaQueryList) { - mediaQueryList.addEventListener('change', (e) => { - UniServiceJSBridge.emit('api.' + ON_THEME_CHANGE, { + const callback = (e) => { + UniServiceJSBridge.emit(ON_THEME_CHANGE, { theme: e.matches ? 'dark' : 'light' }) - }) + } + if (mediaQueryList.addEventListener) { + mediaQueryList.addEventListener('change', callback) + } else { + mediaQueryList.addListener(callback) + } } }