我制作了Chrome扩展程序并使用Firebase对用户进行身份验证。我从https://www.gstatic.com/firebasejs/4.11.0/firebase.js下载了Firebase.js,希望将firebase代码添加到我的chrome扩展清单中。 Firebase身份验证发生在内容脚本中,因此需要将其包含在“content_scripts”下的“js”中。
Manifest.json Content Script Example
相反,我在放入firebase.js时遇到了UTF-8错误。
错误:无法为内容脚本加载文件'js / lib / firebase.js'。它不是UTF-8编码的。无法加载清单。
我尝试在Mac上使用TextEdit将文件保存为UTF-8 - 仍然没有运气。
我究竟做错了什么?
就我而言,问题源于minifiers / obfuscaters(例如uglify)如何编码某些字符。我的开发版本工作正常,但是当我使用缩小版本时,我得到了这个UTF8错误。
无法为内容脚本加载文件'content-script.js'。它不是UTF-8编码的。
对我来说,解决方案是禁用缩小。
这是一个可接受的权衡,因为用户不会在每次页面加载时从服务器下载代码。安装或更新扩展时仅下载一次。一点额外的KB不会伤害任何东西。