1. 程式人生 > 其它 >解決瀏覽器端 globalThis is not defined 報錯

解決瀏覽器端 globalThis is not defined 報錯

解決瀏覽器端 globalThis is not defined 報錯

its_wild  2021年10月25日 17:15 ·  閱讀 1817

場景:

最近在使用 nuxt.js 做服務端渲染的移動端應用時,我們在app裡引用h5的頁面。結果上線後在部分機型(例如:Mozilla/5.0 (Linux; Android 8.1.0; M1822 Build/OPM1.171019.026; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/65.0.3325.110 Mobile Safari/537.36)裡頁面基本結構能加載出來但是頁面不會發起其他網路請求。用 vConsole 除錯也看不到報錯,最後安卓開發同事除錯才發現報錯。如下圖:

解決辦法:

在html頭部加上如下程式碼:

<head>
    <script>
        this.globalThis || (this.globalThis = this)
    </script>
    ...
</head>
複製程式碼

思路是:既然全域性上沒有定義 globalThis 那我們就判斷一下,如果沒有的情況下,定義全域性的一個 globalThis 指向全域性 this 物件(也就是 window 物件)。(注:支援 globalThis 的瀏覽器,其指向就是 window 物件,更多資訊可在這裡檢視:developer.mozilla.org/en-US/docs/…

關鍵詞:globalThis is not defined, nuxt.js, globalThis

分類: 前端 標籤: 前端 多內容聚合瀏覽、多引擎快捷搜尋、多工具便捷提效、多模式隨心暢享,你想要的,這裡都有! 評論     熱門評論 多釐 開發 @ 小有記4月前 來來來, 收個膝蓋.. 點贊 1 its_wild (作者)4月前 點贊 回覆 全部評論 6 最新 最熱   欲可非 前端開發3月前 感謝分享,解決了我的企微和微信瀏覽器問題 1 回覆  
鴨鴨不在乎T_T 3月前 解決了我的問題,新專案用Vue3和Element Plus,也是這個報錯 1 回覆   多釐 開發 @ 小有記4月前 來來來, 收個膝蓋.. 點贊 1 its_wild (作者)4月前 點贊 回覆 Tims18294 前端開發5月前 在一個 chrome 70版本上覆現了次問題,用上述方法解決了。感謝了 點贊 1 its_wild (作者)4月前 不客氣