'ReferenceError:未在客户端应用程序上定义web3

时间:2019-04-29 09:44:48

标签: web3js metamask

我正在使用web3js和metamask构建客户端Web应用程序。我在firefox上安装的文件夹和metamask中有web3 javascript文件。我在web3文件中添加了HTML脚本标记,并在代码中建立了元掩码连接。

尽管如此,我仍然收到错误消息“ ReferenceError:未定义web3”

有人可以帮我吗,或者如何为客户端应用程序连接web3和metamask?

<script language="javascript" type="text/javascript" src="js/web3.min.js"></script>


        window.addEventListener('load', function() {

            if (typeof web3 !== 'undefined') {
                web3js = new Web3(web3.currentProvider);
            } else {
             // set the provider you want from Web3.providers
                web3js = new Web3(new Web3.providers.HttpProvider("http://10.50.0.3:22000"));
            }

            // Now you can start your app & access web3 freely:
            startApp();

        })

1 个答案:

答案 0 :(得分:0)

如果条件低于以下代码段,请替换:

let web3
if(typeof window !== 'undefined' && typeof window.web3 !== 'undefined'){
  //We are in the browser and metamask is running
  web3 = new Web3(window.web3.currentProvider);
}

因为metamask将注入web3对象并绑定到窗口变量