mo hai 1 ano
pai
achega
0f925a9019
Modificáronse 2 ficheiros con 18 adicións e 4 borrados
  1. 0 3
      index.html
  2. 18 1
      src/components/RouterError/index.tsx

+ 0 - 3
index.html

@@ -176,9 +176,6 @@
       }
     }
     (function (window) {
-      window.addEventListener('error', (e) => {
-        console.log(e, '这是js的报错 希望可以从错误类型判断')
-      }, true)
 
       // if ('serviceWorker' in navigator) {
       //   // let refreshing = false

+ 18 - 1
src/components/RouterError/index.tsx

@@ -12,8 +12,24 @@ export default defineComponent({
     const dialog = useDialog();
     let refreshing = false;
     const showModalMask = ref(false)
+    const isChromeError = (error:any)=>{
+      const str = error.message + '';
+      const isChunkLoadFailed = str.indexOf('imported');
+      if (isChunkLoadFailed != -1 && !refreshing) {
+        refreshing = true;
+        // console.log('onError刷新');
+        sessionStorage.setItem('isRouter','true')
+        console.log('浏览器缓存===>')
+          showModalMask.value = true;
+          // router.push(to.path)
 
-
+        // setTimeout(()=>{
+        //   sessionStorage.removeItem('isRouter')
+        // },60000)
+      }
+      // console.log(error, '这是js的报错 希望可以从错误类型判断')
+    }
+    window.addEventListener('error', isChromeError, true)
     router.onError((error, to, form) => {
       const str = error.message + '';
       const isChunkLoadFailed = str.indexOf('imported');
@@ -89,6 +105,7 @@ export default defineComponent({
     checkNewVersion()
     onBeforeUnmount(()=>{
       sessionStorage.removeItem('isRouter')
+      window.removeEventListener('error', isChromeError,)
     })