今天在开发过程中,运维人员报告说页面打开后一片空白,无法进入系统。经过排查发现是我的print-template-designer报错了,报了一个 globalThis is not defined 的错误。
其实之前好像也遇到过类似的错误,一般是因为浏览器版本太低了。
在 Can I Use 网站上查了一下,发现在 Chrome 70 版本之前是不支持 globalThis 的。
那么解决方法就有两个:
- 让客户升级浏览器版本
- 前端升级一下,兼容低版本
最后我们还是建议客户先升级浏览器版本,如果是 Windows 7 系统,使用最新的 108 版本就可以了。(顺便说一句,今年 Chrome 停止支持 Windows 7,108 应该是最后一个版本)
另外,如何在代码层面解决这个问题呢?只需要在 head 标签中添加下面的代码即可。
<head>
<script>
this.globalThis || (this.globalThis = this)
</script>
</head>
还有关于 globalThis 的问题,可以了解一下: