为何VS Code内置浏览器中window.ethereum无法正常工作?
问题分析与解决
VS Code内置浏览器不支持MetaMask扩展:VS Code的内置预览浏览器基于Electron内核,它不会加载你在Chrome/Firefox等主流浏览器中安装的MetaMask扩展。MetaMask依赖主流浏览器的扩展系统才能注入
window.ethereum全局对象,所以内置浏览器里自然识别不到这个对象。你的测试代码没有问题:判断
window.ethereum是否存在的逻辑是正确的,问题完全出在运行环境上,不是代码操作有误。可行的测试方案:
- 启动本地服务后,把服务的URL(比如Live Server启动的
http://localhost:5500)复制到已经安装MetaMask的Chrome、Firefox或Brave等主流浏览器中打开,再点击测试按钮就能正常识别连接。 - 后续开发测试都用主流浏览器进行,不要依赖VS Code内置浏览器做钱包相关功能验证。
- 启动本地服务后,把服务的URL(比如Live Server启动的
内容的提问来源于stack exchange,提问作者Thomas L
相关产品推荐
相关产品推荐

