javascript - 元掩码 web3 未定义

标签 javascript web3js metamask

我已经在本地PC上建立了一个eth节点。代码没有问题。 但是当我退出eth节点并使用metamask运行代码时,web3是未定义的。

你能告诉我如何解决这个问题吗?

<!DOCTYPE html>
<html>
<head>
<title>Using web3 API with MetaMask</title>
<script src="https://cdn.jsdelivr.net/gh/ethereum/web3.js/dist/web3.min.js"></script>
<!-- for ecrecover -->
<script type="text/javascript" src="D:\blockchain\test\ethereum\ethereumjs-util.js"></script>
<script>
window.addEventListener('load', function() {
  // Checking if Web3 has been injected by the browser (Mist/MetaMask)
  if (typeof web3 !== 'undefined') {
    // Use Mist/MetaMask's provider
    window.web3 = new Web3(web3.currentProvider);
  } else {
    console.log('No web3? You should consider trying MetaMask!')
    window.web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
  }
</script>
</head>
</html>

最佳答案

您是否尝试从 file:// 提供服务?如果是这样,那就行不通了。 MetaMask 拒绝提供文件系统 URL。通过网络服务器为您的应用程序提供服务。诸如 python -m SimpleHTTPServer 8000 这样的单行代码就可以了。

关于javascript - 元掩码 web3 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51056623/

相关文章:

javascript - 将数据从 Ember 传递到 Logo 模板中的 HTML

javascript - 等待内部的等待不会给出正确的输出

web3js - 获取 metamask 个人资料图片和名称使用 web3

ethereum - 使用 metamask 扩展名存储在 chrome 文件中的私钥和交易在哪里

javascript - 去中心化应用程序如何通过 walletconnect 处理注销

javascript - 根据复选框选择添加类

javascript - 在 jscript 中创建随机数生成器并防止重复

ethereum - web3 getAccounts 未得到解决

javascript - 使用 Angular 和 Django 发送文件

token - 获取以太坊 ERC-20 代币信息的正确方法