我在 Metamask 上收到错误“未检查的运行时.lastError:无法建立连接”

fei*_*lla 5 javascript svelte web3js

我使用 svelte 创建 Web3 应用程序并遇到一些错误

1.我已经在我的index.html上添加了web3.js cdn

<script src="https://cdn.jsdelivr.net/npm/web3@latest/dist/web3.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

2.这是我在 .svelte 文件上的脚本,用于连接 Metamask 钱包

function connectWallet(){
if(window.ethereum){
  window.web3 = new Web3(ethereum);
  window.ethereum.enable();
  metamaskConnected = window.ethereum.isConnected();
  web3.eth.getAccounts(function(error, accounts) {
    WalletAddress = accounts
    console.log(error)
  })
}
}
Run Code Online (Sandbox Code Playgroud)
  1. 当我第一次在浏览器(Brave)上打开我的网站时,我收到了这个错误

    未选中的runtime.lastError:无法建立连接

并且脚本不起作用

  1. 我必须刷新页面,然后错误消失,这样我的代码才能正常工作

小智 0

我在我的 dapp 上遇到了完全相同的问题,我必须进行更多调查,但看起来它会发生在任何 Chromium 浏览器上,并且只有单击 dapp url 同时打开浏览器时。

相当奇怪的错误,可能是 Metamask 和 Chromium 浏览器之间的通信问题