所以我有这个默认的 metamask 事件侦听器,用于检查用户是否已连接。我添加了一个额外的功能(第 4 行),它将在容器中显示钱包地址。但是,如果我在未检测到元掩码时尝试向容器附加不同的消息,我会得到一个空容器。我错过了什么?
window.addEventListener('load', function() {
if (typeof web3 !== 'undefined') {
web3js = new Web3(web3.currentProvider);
$('#eth-address').append(web3.eth.accounts[0]) // display address
} else {
console.log('No web3? You should consider trying MetaMask!')
web3js = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
$('#eth-address').append('please connect using metamask')}
startApp() })
这是安装metamask的情况;所以有提供者但帐户被锁定?
web3 已定义,但帐户对象为空,也许可以执行 console.log 来检查发生了什么。
如果帐户被锁定,那么您可以设置一个间隔来继续检查帐户。