前言
最近在准备重构项目的时候无意间发现页面有一处报错:报错代码如下:
injectScripts.min.js:1 Uncaught TypeError: Cannot read property 'name' of undefined
at t.e._onMessage (injectScripts.min.js:1)
at t._onMessage (injectScripts.min.js:1)
at injectScripts.min.js:1
e._onMessage @ injectScripts.min.js:1
t._onMessage @ injectScripts.min.js:1
(anonymous) @ injectScripts.min.js:1
虽然这处报错并不影响自己继续写项目,但是每次调试的时候都能看到这条红灿灿的报错消息,身为一个合格的强迫症患者真的已经无法容忍它的存在。
原因分析
根据报错消息我们可以明显的看到,问题出现在injectScripts.min.js
文件中,坑爹的是我自己在项目组并没有引入这个文件;然后我怀疑是不是在安装的第三方依赖包引用了该文件,然而通过对整个项目进行检索也并没有找到该文件存在,最后只能分析html
代码结构,功夫不负有心人,终于在代码head
中发现了下面这串代码:
<script src="chrome-extension://oofgjnalpjodkfmfomihdlchiiacnman/injectScripts.min.js"></script>
由于chrome-extension
是Chrome
的扩展管理页,因此我们断定injectScript.min.js
文件来源于Chrome
第三方插件库,下面的问题就好解决了。
具体方法
在console
中双击打开injectScripts.min.js
文件,然后再文件中我们发现egret
字样,因此我们可以断定该原因是由于自己安装的egret
游戏引擎的debug
工具导致的。
然后我们打开谷歌扩展程序管理页面,然后关闭egret
插件就可以解决当前页面报错的问题了。